У меня недавно возникла проблема, что я не смог найти решение. У меня есть базовый класс, который содержит код следовать в своем конструкторе:Почему я не могу использовать атрибут, содержащий объект mysqli?
public function __construct()
{
$this->runDatabaseConnection();
$this->fetchSettings();
}
private function runDatabaseConnection()
{
global $config;
$this->db = new mysqli($config['db']['server'], $config['db']['user'], $config['db']['password'], $config['db']['name']);
$this->db->set_charset($config['db']['charset']);
}
Как вы можете видеть, что я хранится объект в атрибуте под названием «дб»
После этого я сделал метод в тот же класс, который выполняет данный запрос:
public function query($queryStr)
{
return $this->db->query($queryStr) or die($this->db->error.($this->debugMode ? '<br><b>Query: </b><i>'.$queryStr.'</i>' : ''));
}
Сейчас вне класса, когда я использовать что-то вроде:
$studentsQuery = $core->query("SELECT * FROM ".TP."students");
$ studentsQuery переменная, похоже, является логическим значением, а не ожидаемым ожиданием, которое я ожидал. Итак, что мне не хватает? Заранее спасибо .
Я сожалею, но делает «возвращение $ результат;» вернуть источник? –
a сохранил результат '$ this-> db-> query()' в переменной '$ result', которую я затем верну. Таким образом, либо из результата 'query()' был 'false', а затем он будет' die() ', или это был ресурс, который возвращается. –
Спасибо, сэр, теперь все было хорошо, я понимаю, почему это не сработало раньше, с наилучшими пожеланиями. –