Я пытаюсь изучить еще несколько PHP, OOP и MySQLI, но я застрял. Google не помог мне, и поиск на этом сайте не дал мне никаких результатов. У меня есть класс конфигурации для подключения к базе данных, и в другом классе я хочу, чтобы запустить некоторые запросы, но я получаю эту ошибку с тем, что я пытаюсь:Простые PHP OOP и MySQLI
Fatal error: Call to a member function query() on a non-object in test.php on line 9
Может кто-то пожалуйста, помогите мне?
config.php:
<?php
class Database
{
private $host;
private $user;
private $password;
private $db;
private $mysqli;
function __construct() {
$this->host = "private";
$this->user = "private";
$this->pass = "private";
$this->data = "private";
$this->mysqli = new mysqli($this->host, $this->user, $this->pass, $this->data);
}
public function query($query)
{
return $this->mysqli->query($query);
}
}
?>
test.php:
<?php
class Dummy
{
private $Database;
function __construct()
{
$this->Database = new Database();
$this->Database->test = $this->mysqli->query("SELECT test FROM test")->fetch_object()->test;
}
}
?>
index.php:
<?php
require 'config.php';
require 'test.php';
$test = new Database();
$test = new Dummy();
echo $this->Database->test;
?>
Что/Где 'gw2Database'? – samayo
проверить это line. посмотрите на то, что вы вызываете 'query' on -> это объект' mysqli' в текущем классе ('Dummy'). Но это ничего не называется. поэтому его не существует. – Nanne
Учитесь у этого репо (http://github.com/simon-eq/pdowrapper), потому что, я думаю, вы делаете это неправильно, если вы жестко задаете свои запросы внутри своего класса – samayo