如何使用PDO关闭声明?如果我检查一般MySQL日志,我从未遇到过关闭命令。 (command_type:Close stmt)。
截至目前,MySQL抛出"无法创建超过max_prepared_stmt_count的语句"经过一些这样的询问之后。
奇怪的是PDO准备查询,即使没有任何准备。为什么不直接执行查询(command_type:Execute)?
片段
// Executes a SQL query and returns the PDO statement
$statement = $pdo->query(sprintf('CALL TEST_PROCEDURE(%s)', implode(',', $parameters)));
// Retrieve the result of the query
$result = current($statement->fetchAll(PDO::FETCH_OBJ));
$statement = null;
一般日志
select * from mysql.general_log where argument like "%call%" \G;
...
event_time: 2016-09-01 10:34:40
user_host: root[root] @ localhost [127.0.0.1]
thread_id: 4111
server_id: 0
command_type: Prepare
argument: CALL TEST_PROCEDURE(234,'989',1,'3353' ....)
*************************** 2. row ***************************
command_type: Execute
argument: CALL TEST_PROCEDURE(234,'989',1,'3353' ....)
答案 0 :(得分:0)
您可以通过调用$statement->closeCursor();