有一些PHP代码:
// Fetch PDO instance
$pdo = $this->conn->getPdo();
// Call procedure that checks is user credentials is ok
$stmt = $pdo->prepare('CALL Users_CheckLogin(:username, :password);');
$passw = md5($credentials['passw']);
$stmt->bindValue(':username', $credentials['username']);
$stmt->bindValue(':password', $passw);
// Execute procedure
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_CLASS, 'ArrayObject');
$stmt->closeCursor();
由于某些原因,此代码在此处无效并返回:
SQLSTATE [HY000]:常规错误:2014在其他未缓冲的查询处于活动状态时无法执行查询。考虑使用PDOStatement :: fetchAll()。或者,如果您的代码只是针对mysql运行,则可以通过设置PDO :: MYSQL_ATTR_USE_BUFFERED_QUERY属性来启用查询缓冲。
我也搜索了这个错误,并且没有找到任何解决方法。所以也许这里有人可以解释我的问题是什么?我没有进行参数查询,只有我的程序,在这个程序中我执行额外的查询所以也许这是一个原因,但那时它是pdo中的巨大错误。此过程调用在mysql管理器和mysqli中也可用。