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 サイトの他の関連記事を参照してください。