@Barmunk

Как починить PDO DBLIB: dbresults() returned FAIL?

Есть результирующая процедура с набором данных. Точное число строк я не знаю. Чтобы их получить использую nextRowset() в цикле, как написано в доке. Однако в зависимости от версии php (5.6.31) ловлю ошибку в последней итерации SQLSTATE[HY000]: General error: PDO_DBLIB: dbresults() returned FAIL. Нашел в гугле парочку багрепортов по этой проблеме и невнятный ответ на https://stackoverflow.com/questions/38012890/pdo-d... но чего-то не получается.

пробовал так:
do {
	$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
	if ($rows) {
		$arr[] = $rows;
	}
} while ($stmt->nextRowset());


и так:
while ($pdo->columnCount()) {
    $data[] = $pdo->fetchAll(PDO::FETCH_ASSOC); //or, $pdo->fetchAll() 
    $pdo->nextRowset();
}


На винде работает нормально, на проде уже вываливается ошибка.
https://bugs.php.net/bug.php?id=72488 нашел похожую багу, но полная тишина
  • Вопрос задан
  • 517 просмотров
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
while ($stmt->nextRowset() && $stmt->columnCount());

Calling stored procedures in PDO
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы