1

我编写了一些 PHP 代码,使用 mysqli 扩展和准备好的语句将一些数据插入到 MySQL 表中。MySQL 服务器正在运行版本 5.0.77。

我在运行版本 5.5.27 的机器上本地测试了代码,它运行得非常好。当我使用旧版本的 MySQL 将我的代码传输到服务器时,我收到错误“ Unknown Prepared statement handler (0) given to mysql_stmt_execute ”。

我用谷歌搜索了很多这个错误,只发现了似乎在 5.0.77 版之前已经修复的错误报告。另一个奇怪的事情是,报告有时会提到错误消息中的数字在发生变化,而在我的情况下,无论我同时从多少个不同的浏览器打开连接,该数字都保持在 0 不变。

我无法升级服务器,因为它不在我的控制之下,并且还为许多其他用户提供服务。

有没有人有任何想法可能发生什么,或者如何解决它?非常感谢你。

编辑

PHP 代码粘贴在http://pastebin.com/1X4f5G5Z。我添加了一些注释,应该有助于理解这些函数的作用。

我在http://www.php.net/manual/en/mysqli-stmt.bind-param.php#110363提供的 mysqli 扩展上使用包装器类

4

1 回答 1

1

我尝试了很多东西都没有成功。这可能是 MySQL v5.0.77 中的一个错误。

我终于通过在评论中采用@robert-rozas 的解决方法并将我的代码迁移到 mysqli 扩展来让我的代码工作,现在它工作得很好!在这里重新发布以解决问题。

于 2013-11-17T17:28:03.090 回答