ホームページ > バックエンド開発 > Python チュートリアル > MySQL IN 句で ID のリストを安全に使用するにはどうすればよいですか?

MySQL IN 句で ID のリストを安全に使用するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-11-15 04:35:02
オリジナル
302 人が閲覧しました

How Can I Safely Use a List of IDs in a MySQL IN Clause?

安全な MySQL IN 句のリストの組み込み

MySQL IN 句で ID のリストを安全に使用し、SQL インジェクションを回避するには、MySQL の手動でリストを内部破棄してエスケープする代わりのパラメータ化機能

format_strings = ','.join(['%s'] * len(list_of_ids))
cursor.execute("DELETE FROM foo.bar WHERE baz IN (%s)" % format_strings, tuple(list_of_ids))
ログイン後にコピー

このアプローチにはいくつかの利点があります:

  • セキュリティ: データはパラメータとして MySQL のドライバに渡され、適切にエスケープされることが保証されます。
  • シンプルさ: あなた手動で引用符やエスケープを実行する必要がないため、コードが簡素化され、エラーのリスクが軽減されます。
  • パフォーマンス: パラメータ化は、多くの場合、リストを内破して手動でエスケープするよりも効率的です。

データは値のタプルとして渡されるため、MySQL クエリで安全に使用できることに注意してください。 format_strings 変数は、パラメーターのプレースホルダーのカンマ区切りリストを作成します。

以上がMySQL IN 句で ID のリストを安全に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート