sql >> データベース >  >> RDS >> Mysql

Python3でMySQLデータベースへの入力をエスケープするにはどうすればよいですか?

    「解決済み」の回答は機能しますが、ベストプラクティスではありません。 Python DBIに準拠したライブラリを使用する場合は、文字列をフォーマットして実行に渡すのではなく、バインド変数を使用する必要があります。その方法論には固有の危険があります。

    したがって、これは正しい方法です:

    cursor.execute("SELECT * FROM `Codes` WHERE `ShortCode` = %s", text)
    

    これはフォーマット文字列ではなく、実行中のカーソルに渡されるバインド変数であることに注意してください。

    詳細: Python DBI PEP



    1. Puppetを使用したPostgreSQLの展開と構成

    2. データベースのメンテナンスを容易にするためのモデル化方法

    3. OracleInstantクライアントをPythoncx_OracleのDockerコンテナにインストールします

    4. MySQLのeとéの区別(e急性)-UNIQUEインデックス