在PHP代码中为mysql_stmt_execute提供了未知的准备语句处理程序(0)


Unknown prepared statement handler (0) given to mysql_stmt_execute in PHP code

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

我在运行5.5.27版本的机器上本地测试了代码,它运行得非常好。当我将代码传输到使用旧版本MySQL的服务器时,每次都会收到错误"未知准备语句处理程序(0)给MySQL_stmt_execute"

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

我无法升级服务器,因为它不在我的控制范围内,也为许多其他用户提供服务。

有人知道可能发生的事情,或者如何解决吗?非常感谢。

编辑

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

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

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

通过在评论中使用@robert rozas的变通方法,并将我的代码迁移到mysqli扩展,我终于让我的代码工作起来了,现在它工作得很好!在此重新定位以解决问题。