无法在laravel4中运行mysql存储过程

时间:2014-06-08 10:38:10

标签: php mysql stored-procedures pdo laravel

有一些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中也可用。

0 个答案:

没有答案