MySQL «команды не синхронизированы» появляются при переходе на хранимые процедурыPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 MySQL «команды не синхронизированы» появляются при переходе на хранимые процедуры

Сообщение Anonymous »

У меня есть рабочий php/mysql, который я сейчас переношу в хранимые процедуры.

Как только вызывается какая-либо хранимая процедура, последующие вызовы CALL и SELECT завершаются с ошибкой " Команды не синхронизированы; сейчас вы не можете запустить эту команду".

Существующие хранимые процедуры, которые не являются SELECT, работают нормально.

Код: Выделить всё

function db_all ($query)
{
log_sql_read ($query);
$result = mysql_query ($query, db_connection ());

if (!$result)
{
log_sql_error ($query);
return Array ();
}

$rows = Array ();

while ($row = mysql_fetch_assoc ($result))
array_push ($rows, $row);

mysql_free_result ($result);

return $rows;
}

db_all ("SELECT 1 as `test`");
db_all ("SELECT 2 as `test`");
db_all ("CALL `$db`.`select_info`($id);"); // RETURNS CORRECT DATA
db_all ("CALL `$db`.`select_info`($id);"); // ERROR HERE
db_all ("SELECT 5 as `test`");             // ERROR HERE
Эта ошибка объясняется в другом месте как результат отсутствия вызова mysql_free_result, но я вызываю это. Так что же не так?

Я вижу некоторые решения, относящиеся к mysqli. На данный момент мне нужно решение не-mysqli.

Подробнее здесь: https://stackoverflow.com/questions/154 ... procedures
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»