PHP で PDO を使用した最終的なパラメーター化されたクエリの確認
PHP で PDO を使用して MySQL データベースに接続する場合、場合によっては次のことが必要になります。実行される最終的な SQL クエリを確認します。元の質問は、「データベースによって実際に実行されるものを確認する方法はありますか?」
短い答え: いいえ
回答で指摘されているように、 PHP 側で最終クエリを取得する簡単な方法はありません。その理由は、パラメータ化されたクエリが、クエリ自体 (トークンを含む) と対応するパラメータという別々の部分でデータベースに送信されるためです。最終的なクエリはデータベース側でのみアセンブルされ、実行されます。
回避策: クエリのログ
最終的なクエリを直接取得することはできませんが、回避策は可能です。クエリログを使用して実装されます。 my.cnf (または my.ini) 構成ファイルを変更して次の行を含めると、
log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]
サーバー上で実行されたすべての SQL クエリが指定されたファイルに記録されます。これはデバッグ目的のみに使用し、運用環境では使用しないでください。
以上がPHP で PDO パラメータ化クエリを使用する場合、最終的に実行された SQL クエリを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。