Хорошо, это так странно !!! Я запускаю PHP Version 5.1.6, когда я пытаюсь запустить код ниже, он дает фатальную ошибку для объекта, который не был создан. Как только я прокомментирую эту строку кода // $ cb_db = new cb_db (USER, PASSWORD, NAME, HOST); все работает. Хотя я объявил объект $ cb_db глобальным внутри метода. Любая помощь будет принята с благодарностью.Вызов функции-функции члена() для не-объекта
require_once (ROOT_CB_CLASSES. 'Db.php');
$cb_db = new cb_db(USER, PASSWORD, NAME, HOST);
class cb_user {
protected function find_by_sql($sql) {
global $cb_db;
//$cb_db = new cb_db(USER, PASSWORD, NAME, HOST);
$result_set = $cb_db->query($sql);
$object_array = array();
while($row = $cb_db->fetch_array($result_set)) {
$object_array[] = self::instantiate($row);
}
return $object_array;
}
}
Почему вы используете глобальный класс? расширение кажется гораздо более подходящим, вы также можете передать объект в качестве параметра ... – Dormilich
Не начали использовать классы, чтобы избавиться от глобальных переменных? –