无法创建超过max_prepared_stmt_count语句的错误

时间:2014-03-03 21:27:50

标签: php mysql pdo

在我的网站上,我使用了几个php页面,我必须使用预处理语句从mysql数据库调用数据。

突然间我出现了这个间歇性错误消息“无法创建超过max_prepared_stmt_count语句”并停止加载页面。我等了一会儿,一切都恢复正常。

我跑了show global status like 'com_stmt%',这就是它显示的内容:

Com_stmt_close  11305830
Com_stmt_execute    12109430
Com_stmt_fetch  0
Com_stmt_prepare    12109475
Com_stmt_reset  0
Com_stmt_send_long_data 75

在所有页面上,我只在页面底部关闭语句和PDO一次,如下所示:

$mysqli->close();
$pdo = null;

现在我有两个问题:

1 - 如果我必须在一个PHP页面上打开2或3个查询,我是否必须逐个关闭它们?或者我是否在页面末尾将它们全部关闭?用上面的脚本?

2-如果第一个问题的答案是“您可以在页面末尾关闭它们”,那么请告诉我为什么会出现此错误?

提前感谢您的帮助!

0 个答案:

没有答案