PHP での連続した MySQL クエリの実行
PHP プログラミングでは、複数の MySQL クエリを連続して実行できます。ただし、一部のユーザーは、これを実行しようとしたときに構文エラーが発生しました。この記事の目的は、このような問題を解決し、複数クエリの実行に適切な方法を使用するためのガイダンスを提供することです。
複数のクエリを実行するための一般的なアプローチの 1 つは、各クエリ間の区切り文字としてセミコロン (;) を使用することです。たとえば、提供されている PHP コード スニペットでは、$sql 変数は、一時テーブルの作成、一時テーブル内の行の更新、一時テーブルからメイン テーブルへのデータの挿入という 3 つの MySQL ステートメントを連結しています。
ただし、MySQL では、個別のステートメントごとに新しいクエリ実行呼び出しが必要です。したがって、連結された $sql 変数を $conn->query($sql) で実行すると、構文エラーが発生します。
この問題を修正するには、次に示すように、各クエリを個別に準備して実行することをお勧めします。回答で提供されている改善されたコードスニペットでは:
$queries = [ "CREATE TEMPORARY TABLE tmp SELECT * FROM event_categoriesBU WHERE id = 1", "UPDATE tmp SET>
このアプローチでは、各クエリが独自のステートメントに分割され、適切なクエリが可能になります。実行。 multi_query 関数はプレースホルダー値をサポートしていないため、アプリケーションが SQL インジェクションの脆弱性にさらされることに注意することが重要です。
柔軟性と適応性を強化するには、MySQLi の代わりに PDO (PHP データ オブジェクト) の使用を検討してください。 PDO は、プレースホルダー値のサポートや SQL インジェクションに対するセキュリティの向上など、より堅牢な機能を提供します。
以上がPHP で複数の MySQL クエリを連続して実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。