![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
smartov |
|
||||||||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 2 Всего: 259 |
Сегодня очень долго выяснял причину, почему, после того, как я делаю MySQL запрос, в котором обращаюсь к хранимой процедуре (stored procedure) (MySQL 5+, mysqli driver)
то следующий за ним любой запрос не выполняется, а mysqli_error возвращает ошибку
Судя по ошибке, создавалось впечатление, что утеряно соединение. Это и ввело в заблуждение и повело по ложному пути. Как оказалось, все происходит от того, что моя процедура возвращает результат в виде таблицы - последней строкой процедуры является (предположим)
Вследствие этого, запрос к MySQL базе получает в ответ <strong>множественный результат</strong>. И если "первый" результат я вытягиваю (как для обычного запроса), то "второй", который представляет из себя (bool)false - нет, и он остается в буффере. В общем, чтобы избежать подобных проблем, после того, как вытащите первый результат (обычным для любого MySQL запроса способом), сбросьте ненужные, вытащив их из буффера результатов следующим образом:
Огромное спасибо человеку под ником Evert, который оборвал мои долгие поиски ответом на этот вопрос. |
||||||||
|
|||||||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |