我将一个站点从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行,它包含了__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类的文件中,但这并没有帮助(这并不是说这是一个永久的修复.)
有没有人遇到过这个错误,如果是的话,你做了什么来修复它?谷歌已经被证明几乎没用,因为它是唯一的地方,特别提到并没有真正处理修复它。
发布于 2013-09-27 06:50:04
将类中的getAll()更改为queryAll(),导致DB & MDB2之间存在一些差异,与getOne、getRow相同--它们都更改为queryOne、queryRow。在这里你可以读到关于它的http://www.phpied.com/db-2-mdb2/
发布于 2012-04-16 15:37:24
在进行查询之前,请确保在代码中加载扩展模块,如下所示:
$db->loadModule('Extended');https://stackoverflow.com/questions/10149205
复制相似问题