Я создал процедуру (с помощью инструмента PHPMyAdmin), которая возвращает таблицу и два выхода. Если я выполнить процедуру с помощью кнопки «Выполнить» из PHPMyAdmin он посылает запрос:MySQL Хранимые процедуры и PHPMyAdmin
SET @p0 = '12';
SET @p1 = '1';
CALL `getPhoneReview` (@p0 , @p1 , @p2 , @p3);
SELECT @p2 AS `PhoneCount` , @p3 AS `ReviewCount`;
Который возвращает то, что, как ожидается, (таблица и два выхода). Однако, если я копирую этот точный код и выполняю его из секции SQL, он выполняет только последнее предложение:
CALL `getPhoneReview` (@p0 , @p1 , @p2 , @p3)
Что не возвращает ничего.
Это происходит также при попытке получить выходные значения с помощью PHP. У меня есть этот код:
$C = new MySQLi(...);
$Q = $C->query("CALL getPhoneReview(12, 1, @PhoneCount, @ReviewCount)");
/* Looping over $Q works fine */
$PhoneCount = $C->query("SELECT @PhoneCount AS PhC");
$PCO = $PhoneCount->fetch_object();
var_dump($PCO->PhC); /* Call to a member function fetch_object() on boolean */
Может ли кто-нибудь мне помочь?
Добавление $ C-> next_result() после того, как цикл решил проблему. Спасибо! – David103