Intereting Posts
Проблемы с кодировкой с помощью XMLWriter (PHP) PHP – правильная проверка, если отправлен $ _POST Как я могу использовать регулярное выражение для решения этой проблемы? 403 Доступ запрещен Строка PHP содержит « Laravel Многие для многих ссылок на справочные таблицы работают только в одном направлении Расширенные заполнители для SQL, например WHERE id IN (??) время обновления каждой записи в MongoDB При использовании уникальной буквенно-цифровой строки для короткого URL-адреса лучше ли хранить созданную строку в базе данных или кодировать / декодировать «на лету»? Как получить информацию сертификата SSL с помощью node.js? Как заставить .htaccess использовать для маршрутизации, чтобы не маршрутизировать файлы .css, .js, .jpg и т. Д.? Как загрузить файл php без его выполнения? php XML DOM переводит специальные символы в & # xYY; PHP – Соответствующие термины поиска mysql_query Изменить пароль в Active Directory с помощью LDAP / PHP / IIS / SSL

Почему я получаю ошибку «Команды не синхронизированы; вы не можете запустить эту команду сейчас "

Документация об ошибке, упомянутая в заголовке

Если вы получаете команды не синхронизированы; вы не можете запустить эту команду сейчас в своем клиентском коде, вы вызываете клиентские функции в неправильном порядке.

Это может произойти, например, если вы используете mysql_use_result () и попытаетесь выполнить новый запрос, прежде чем вы вызовете mysql_free_result (). Это также может произойти, если вы попытаетесь выполнить два запроса, которые возвращают данные, не вызывая mysql_use_result () или mysql_store_result () между ними.

Отсюда: http://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html

Но в первом запросе я не извлекаю данные из базы данных mysql, я просто вставляю. И во втором запросе я получаю данные из базы данных.

Вот мой код

$connection = mysqli_connect("localhost","username","password","tbl_msgs"); if(mysqli_connect_errno($connection)) { die("Failed to connect to MySQL: " . mysqli_connect_error()); } $query = "INSERT INTO users (total_comments, total_views) VALUES ({$total_comments}, {$total_views});"; $query .= "INSERT INTO msgs (notifications) VALUES ({$notifications})"; mysqli_multi_query($connection,$query); 

До этого шага все прекрасно. Но когда я выполняю следующий запрос, он дает ошибку

 $select_query = "SELECT * FROM msgs WHERE msg_id = {$msg_id}"; $result_set = mysqli_query($connection,$select_query); if(!$result_set) { die(mysqli_error($connection)); } 

Здесь он Commands out of sync; you can't run this command now ошибок Commands out of sync; you can't run this command now Commands out of sync; you can't run this command now . Я не могу понять эту ситуацию

Примечание. В запросе есть какая-либо проблема, я выполнил тот же запрос непосредственно в PHPMyAdmin, и он отлично работает.

В запросе есть результат:

mysqli_multi_query ($ соединение, $ запрос);

Вам нужно использовать / сохранить результат, прежде чем вы сможете продолжить следующий запрос после: Поскольку вы выглядите так, как будто вы действительно не заботитесь о первом наборе результатов, сделайте это после многократного запроса.

 do { $result = mysqli_store_result($connection); mysqli_free_result($result); }while(mysqli_next_result()); 

Другой вариант – закрыть соединение и снова запустить его.

 mysqli_close($connection); $connection = mysqli_connect("localhost","username","password","tbl_msgs"); 

Все зависит от ваших требований.