タイトルに記載されているエラーのドキュメントには、
コマンドが同期していない場合。現在、クライアント コードでこのコマンドを実行することはできません。クライアント関数を間違った順序で呼び出しています。
これは、たとえば、mysql_use_result() を使用していて、mysql_free_result() を呼び出す前に新しいクエリを実行しようとした場合に発生する可能性があります。また、間に mysql_use_result() または mysql_store_result() を呼び出さずにデータを返す 2 つのクエリを実行しようとした場合にも発生する可能性があります。
ここから: http://dev.mysql.com/doc/refman/5.0/en/commands-out-of-sync.html
しかし、最初のクエリでは、mysql データベースからデータを取得していません。挿入しているだけです。2番目のクエリでは、データベースからデータを取得しています。
これが私のコードです
$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));
}
ここで Error が返されCommands out of sync; you can't run this command now
ます。この状況が理解できない
注: クエリに問題があります。同じクエリを PHPMyAdmin に対して直接実行したところ、問題なく動作しました。