ホームページ >データベース >mysql チュートリアル >Python を使用して複数の変数を MySQL データベースに安全に挿入するにはどうすればよいですか?

Python を使用して複数の変数を MySQL データベースに安全に挿入するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-13 10:41:15580ブラウズ

How Can I Safely Insert Multiple Variables into a MySQL Database Using Python?

MySQL のパラメータ化されたクエリ

MySQLdb モジュールを使用して MySQL データベース テーブルに複数の変数を挿入するのは難しい場合があります。次のステートメントを考えてみましょう:

cursor.execute ("""
    INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation)
    VALUES
        (var1, var2, var3, var4, var5, var6)

""")

ただし、SQL クエリで文字列補間を使用すると、アプリケーションが SQL インジェクションの影響を受けやすくなり、セキュリティの脆弱性が発生する可能性があるため、問題があります。正しいアプローチは、パラメータ化されたクエリを使用することです。これにより、入力パラメータが適切にエスケープされます。

パラメータのエスケープ

文字列補間の代わりに、クエリでプレースホルダを使用し、タプルを使用して実際の値を取得します。例:

cursor.execute("INSERT INTO Songs (SongName, SongArtist, SongAlbum, SongGenre, SongLength, SongLocation) VALUES (%s, %s, %s, %s, %s, %s)", (var1, var2, var3, var4, var5, var6))

このメソッドは、クエリを実行する前に値を自動的にエスケープすることで、SQL インジェクションから保護します。

以上がPython を使用して複数の変数を MySQL データベースに安全に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。