Far*_*rid 8 php mysqli zend-framework multi-select
当我尝试在发送回结果集的mysql中调用存储过程时,它一直告诉我"不能在给定的上下文中返回结果集".
我谷歌它有些人说它是mysql bug,有些人说你应该改变你的mysqli驱动程序和....
情况:
使用mysqli驱动程序客户端API库版本5.0.51a,PHP版本5.2.4-2ubuntu5.6,使用Zend 1.9 RC 1 Mysqli适配器.
我该怎么办!?
不确定这是否能解决您的问题,但是尝试使用更新版本的 PHP 怎么样?
PHP 5.2.4 肯定已经很老了——所以,如果这是 PHP mysqli 驱动程序中的一个错误,那么它可能已经被纠正了......
实际上,经过快速搜索,似乎在 PHP 5.2.3 和 PHP 5.2.4 之间引入了像您所看到的问题(并且在 PHP 5.2.5 中仍然存在)。
请参阅bug #42548:PROCEDURE xxx 无法在给定上下文中返回结果集(适用于 5.2.3!!)
您可以使用 PHP 5.2.9 或 5.2.10 之类的东西进行测试吗?
我知道 Ubuntu 没有提供这些,即使在最新的 Ubuntu 稳定版本中也是如此 :-( 你可能必须从源代码进行编译 :-(
另一种想法是尝试使用 mith PDO_MySql 适配器:也许它可以与该适配器一起使用?
是否可以更改适配器而不会造成太多麻烦/无需花费数小时进行测试?
当您使用 Zend Framework 1.9 时,这里是您可能感兴趣的另一篇文章,并且可能更容易测试:升级到 1.8 后存储过程错误
一个简单的解决方案是回到 Zend Framework 1.7 ;你有可能只是为了测试一下吗?
无论如何...祝你好运!
而且,如果您找到解决方案,请不要忘记指出问题是什么以及您是如何解决的;-)