MySQLi でのコマンドの同期エラー
複数の MySQLi クエリを含むコードで、「コマンドが同期していない」エラーが発生します。このエラーは、進行中のクエリから取得する行がまだある間は、MySQL クライアントが新しいクエリの実行を禁止しているために発生します。
問題の理解
MySQL クライアントクエリが順番に実行されることを保証する厳密なプロトコルを実装します。複数の結果セットを返すネストされたクエリまたはプロシージャがある場合、プロトコルは、次のクエリを実行する前に結果セットからすべての行をフェッチするように指示します。ただし、あなたの場合は、前のクエリからフェッチする行がまだある間に新しいクエリを実行しようとしています。
解決策
主な解決策は 2 つあります。問題を解決するためのアプローチ:
代替データ ストレージに関する考慮事項
階層データの場合、クエリを簡略化するために、別の方法でデータを保存することを検討することもできます。たとえば、隣接リストやネストされたセット モデルを使用できます。
追加メモ
CodeIgnitor 3.0.3 では、「コマンドが同期していません」エラーを解決できます。 _execute() メソッドを変更することでシステム/データベース/ドライバー/mysqli/mysqli_driver.php.
以上がMySQLi の「コマンドが同期していない」エラーを解決するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。