Что я делаю неправильно? Создаю класс DBclass DB{ public $mysqli; function __construct() { $this->mysqli=new mysqli("localhost","root","","bolhbe"); return $this->mysqli; } } Пытаюсь сделать так include ("DB.php"); class Categories{ public function getCategories(){ $db=new DB(); $query="use categories"; $db->query(); $query="SELECT * FROM 'categories'"; } } IDE говорить что метода query() у объекта DB нет. Он ведь возвращает : new mysqli("localhost","root","","bolhbe"); почему у него нет встроенного метода query()?
Проблема здесь заключается в том, что вы не определили метод query() в вашем классе DB. Метод query() - это метод класса mysqli, а не вашего собственного класса DB.
Чтобы исправить это, вы можете добавить метод query() к вашему классу DB, который будет вызывать метод query() объекта mysqli:
class DB{ public $mysqli; function __construct() { $this->mysqli=new mysqli("localhost","root","","bolhbe"); return $this->mysqli; } public function query($query){ return $this->mysqli->query($query); } }
Теперь вы можете вызывать метод query() в вашем классе Categories:
include ("DB.php"); class Categories{ public function getCategories(){ $db=new DB(); $query="SELECT * FROM categories"; $result = $db->query($query); // обработка результата запроса } }
Теперь при вызове метода query() у объекта DB не должно возникать ошибок, и ваш запрос должен выполняться корректно.
Проблема здесь заключается в том, что вы не определили метод query() в вашем классе DB. Метод query() - это метод класса mysqli, а не вашего собственного класса DB.
Чтобы исправить это, вы можете добавить метод query() к вашему классу DB, который будет вызывать метод query() объекта mysqli:
class DB{public $mysqli;
function __construct()
{
$this->mysqli=new mysqli("localhost","root","","bolhbe");
return $this->mysqli;
}
public function query($query){
return $this->mysqli->query($query);
}
}
Теперь вы можете вызывать метод query() в вашем классе Categories:
include ("DB.php");class Categories{
public function getCategories(){
$db=new DB();
$query="SELECT * FROM categories";
$result = $db->query($query);
// обработка результата запроса
}
}
Теперь при вызове метода query() у объекта DB не должно возникать ошибок, и ваш запрос должен выполняться корректно.