2016-10-22 21 views
0

私はPythonを使用してサイトを形成し、データベースに追加する名前のリストを持っています。すべてがうまく動作します。私は文字がどこにあるのか知っていれば特定の文字列にエスケープ文字を使わなければならないと理解していますが、文字列内にある可能性のある文字をエスケープする方法はありますか?Python変数の文字をエスケープする

はたとえば、次のコードでは、私はname変数に特殊文字をエスケープする必要があります。

cursor.execute("""INSERT INTO players (name, position, team, status) values ('%s', '%s', %s, %s)""" % (name, position, team, status)) 
+0

https://en.wikipedia.org/wiki/SQL_injection –

+0

これが関連すると思われる理由がわかりません。説明してください。まずは、ほとんどの場合、ここではPythonのためのエスケープについては言及していません。 – mgrenier

答えて

1

適切な方法は、cursor.executeにタプルで引数を渡すことです:

cursor.execute("""INSERT INTO players (name, position, team, status) values (%s, %s, %s, %s)""", (name, position, team, status)) 

そして、カーソルをエスケープさせます。

関連する問題