MySqli 错误:无法创建超过 max_prepared_stmt_count 条语句(当前值:16382)

iWi*_*ard 3 php mysql mysqli

当我使用在一台服务器上工作而在另一台服务器上不工作的正常准备查询时,我收到此错误。

$this->PreparedQuery("UPDATE user_login SET end_time = '?' WHERE id = ?", 692233, 1);
Run Code Online (Sandbox Code Playgroud)

bro*_*man 5

由于问题不清楚。

我将发布一些避免此 mysql 错误的方法:

  • 检查您的客户端代码,您应该在不需要它后关闭准备好的 stmt 对象。请不要泄露资源。

  • 如果您的客户端代码使用准备好的语句作为缓存,请在程序看到此错误后将它们全部关闭。您也可以尝试完全不使用准备好的语句作为缓存,只需创建一个,使用它,然后删除它。

  • 使用SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST查找所有客户端代码,然后重复步骤 1。

  • 您也可以重新启动 mysql 服务器来临时解决此问题。