【发布时间】:2013-01-05 16:51:51
【问题描述】:
当我使用相同的连接语句(使用 PDO)执行第二个存储过程时,出现以下错误。
================================================ ==
SQLSTATE[HY000]: 一般错误:2014 在其他无缓冲查询处于活动状态时无法执行查询。考虑使用 PDOStatement::fetchAll()。 或者,如果您的代码只针对 mysql 运行,您可以通过设置 PDO::MYSQL_ATTR_USE_BUFFERED_QUERY 属性。
================================================ ========
这是我在drupal中的代码
$conn->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
$statement = $conn->prepare("CALL Odd_Get_Sport()");
$exec_result = $statement->execute();
while ($row = $statement->fetchObject()) {
print_r($row);
}
$statement ->closeCursor();
$statement1 = $conn->prepare("CALL Odd_Get_Sport()");
$exec_result1 = $statement1->execute();
while ($row1 = $statement1->fetchObject()) {
print_r($row1);
}
帮我解决这个问题。
【问题讨论】:
-
有时子查询错误或返回超过 1 行的子查询会触发此错误