Как только вызывается какая-либо хранимая процедура, последующие вызовы 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
Я вижу некоторые решения, относящиеся к mysqli. На данный момент мне нужно решение не-mysqli.
Подробнее здесь: https://stackoverflow.com/questions/154 ... procedures
Мобильная версия