я получаю следующее сообщение об ошибке при вызове 2-ой хранимой процедуры с помощью PHP PDO:MySQL PDO общая ошибка 2014 при вызове нескольких хранимых процедур
SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.
Обычно эта ошибка возникает, когда вы не использовали fetchAll()
, чтобы получить все данные обратно из MySQL, прежде чем запрашивать больше данных. Однако в этом случае я использую fetchAll во всех вызовах хранимых процедур.
Возможны два обходных пути. Либо используйте $stmt->closeCursor()
после каждого вызова хранимой процедуры, либо вместо этого замените хранимые процедуры запросами SELECT.
Есть ли что-то в отношении хранимых процедур, которые оставляют данные «необработанными»?
Пожалуйста, разместите определения хранимой процедуры. Вы используете SELECT _multiple_ в одном из них, но только 'fetchAll()' из одного набора результатов, не используя ['nextRowset()'] (http://php.net/manual/en/pdostatement.nextrowset.php) например? –