В мануале по PHP написано, что у mysqli_fetch_object() есть параметр "имя класса", то есть я так понимаю, он может на основании выборки из базы создать экземляр некого сущетсвующего класса, заполнив атрибуты какой-то информацией из выборки. Положим, есть класс: Код (Text): class Product { public $_name; public $_price; public function __construct($name, $price) { $this->_name = $name; $this->_price = $price; } public function describe() { echo $this->_name . "<br />\n" . "\$" . $this->_price . "<br /><br />\n"; } } Выборка производится следующей командой: Код (Text): $DB_Result0 = $DB_Ctn->query("SELECT prod_name, prod_price FROM products"); Следующий цикл ничего не дает: Код (Text): while($product = $DB_Result0->fetch_object(Product)) { ... } Лишь выводятся предупреждения: Код (Text): Warning: Missing argument 1 for Product::__construct() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\objective\class.Product.php on line 8 Warning: Missing argument 2 for Product::__construct() in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\objective\class.Product.php on line 8 Может, кто-нибудь знает, как это работает, а то не могу нигде найти примеров?
Красивая ссылочка. Вы только ткните мне носом в то место, где написано, как использовать необязательный параметр string class_name
HiveHicks, так ты читал, что выводится в этих предупреждениях? а что он должен давать? где описание fetch_object() ?
HiveHicks а что Вы ждете то? Вы задали в функции инициализации 2 переменных без дефолтных значений. в вызове класса эти параметры не переданы.. соответственно, о чем и есть предупреждение.
Я понимаю, почему выводятся предупреждения. Просто эта возможность меня заинтересовала - сохранять выборку из базы в атрибутах объекта не создаваемого интерпретатором, а моего собственного класса. Где не смотрел - в синтаксисе функции этот параметр (classname) стоит, а что да как - не поймешь...