Php 致命错误:调用未定义的函数:MDB2_Driver_MYSQL::getAll()

Php 致命错误:调用未定义的函数:MDB2_Driver_MYSQL::getAll(),php,mysql,pear,mdb2,Php,Mysql,Pear,Mdb2,我正在将一个站点从Fedora 14、PHP4和PEAR DB升级到Fedora 16、PHP5.4和PEAR MDB2 2.5.0b3,我发现了错误 致命错误:调用未定义的函数:MDB2_Driver_MYSQL::getAll()。在第1892行的/usr/share/php/MDB2.php中 显然,我已经检查了MDB2.php文件的第1892行,它包含\uu调用魔术方法的错误报告代码(允许您通过将特定函数传递到\uu调用中来调用该函数) 我已经检查了\u call的用法,似乎没有。同样,

我正在将一个站点从Fedora 14、PHP4和PEAR DB升级到Fedora 16、PHP5.4和PEAR MDB2 2.5.0b3,我发现了错误

致命错误:调用未定义的函数:MDB2_Driver_MYSQL::getAll()。在第1892行的/usr/share/php/MDB2.php中

显然,我已经检查了MDB2.php文件的第1892行,它包含
\uu调用
魔术方法的错误报告代码(允许您通过将特定函数传递到
\uu调用
中来调用该函数)

我已经检查了
\u call
的用法,似乎没有。同样,当我试图找到
MDB2\u Driver\u MYSQL
的来源时,唯一提到它的地方是MDB2.php(作为对MYSQL驱动程序的注释)、类声明(
class MDB2\u Driver\u MYSQL扩展了MDB2\u Driver\u Common
)以及.xml文件中的描述标题

我已经手动将
/usr/share/php/MDB2/Extended.php
文件包含在定义
MDB2\u Driver\u mysql
类的文件中,但这没有任何帮助(并不是说这将是一个永久性的修复…)


是否有人遇到此错误,如果是,您是如何修复的?事实证明,谷歌几乎毫无用处,因为它是唯一一个没有真正解决问题的地方。

在进行查询之前,请确保在代码中加载扩展模块,如下所示:

$db->loadModule('Extended');

将类中的getAll()更改为queryAll(),因为DB和MDB2之间存在一些差异,getOne和getRow之间也存在一些差异——它们都更改为queryOne和queryRow。在这里您可以阅读相关内容

您是否看到了此页面:?在上面Raffael的评论和这里的评论之间,我尝试以各种方式加载扩展模块,但没有任何方式产生任何差异(即使作为MDB2::connect函数的一部分加载时也是如此)。奇怪的是,getAll调用适用于MDB2,而不是MDB2_驱动程序_MYSQL