Неустранимая ошибка: вызов неопределенной функции: MDB2_Driver_MYSQL::getAll()

Я обновляю сайт с Fedora 14, PHP4 и PEAR DB до Fedora 16, PHP 5.4 и PEAR MDB2 2.5.0b3, и получаю ошибку

Неустранимая ошибка: вызов неопределенной функции: MDB2_Driver_MYSQL::getAll(). в /usr/share/php/MDB2.php в строке 1892

Очевидно, я проверил строку 1892 файла MDB2.php, и она содержит код сообщения об ошибке для __call магический метод (позволяет вызвать определенную функцию, передав ее в __call)

Я проверил на использование __callи, кажется, не существует. Точно так же, когда я пытаюсь найти где MDB2_Driver_MYSQL это единственное место, о котором даже упоминается, это MDB2.php (как комментарий о драйвере для MySQL), в объявлении класса (class MDB2_Driver_mysql extends MDB2_Driver_Common) и заголовок описания в XML-файле.

Я вручную включил /usr/share/php/MDB2/Extended.php файл в файле, где MDB2_Driver_mysql класс определен, и это не помогло (не то, чтобы это было постоянным исправлением...)

Кто-нибудь сталкивался с этой ошибкой, и если да, что вы сделали, чтобы исправить ее? Google оказался почти бесполезным, так как единственное упомянутое место на самом деле не касается его исправления.

2 ответа

Измените getAll() в вашем классе на queryAll(), вызвав некоторую разницу между DB и MDB2, и то же самое с getOne, getRow - все они изменились на queryOne, queryRow. Здесь вы можете прочитать об этом http://www.phpied.com/db-2-mdb2/

Убедитесь, что вы загрузили расширенный модуль в свой код перед выполнением запроса, как показано ниже:

$db->loadModule('Extended');
Другие вопросы по тегам