2016-11-09 5 views
-2

ここでは、名前をpgに挿入します。 場合によっては、この名前は次の画像のように規則的ではありません。 http://ob9j09f06.bkt.clouddn.com/2016-11-09-22%3A58%3A19.jpgポストグルに挿入するには?

このデータをdbに更新するにはどうすればよいですか?

+0

'' Afanas \ 'ev ...'のような '''文字をエスケープしてみてください – Selcuk

+7

代わりに文字列操作とクエリパラメータを使用してください。 –

+3

このバグがあれば、セキュリティに影響を与える他のバグもあります。それを引き起こしたプラクティスを修正するのではなく、ただちに症状を回避するだけなら、あなたは...よく症状を修正するだけです。常に、常に、コードとデータを互いに帯域外に保ち、[Bobby Tables](https://xkcd.com/327/)を覚えておいてください。 –

答えて

4

クエリパラメータを使用する必要があります。 Sqliteを、あなたはのようなものだろう:

sql_insert = 'INSERT INTO articles VALUES(?, ?)' 
to_db = [authors, link] 
curs.execute(sql_insert, to_db) 

をまたは更新する:

sql_update = 'UPDATE articles SET authors = ? WHERE link = ?' 
to_db = [authors, link] 
curs.execute(sql_update, to_db) 

to_dbではなく@Colonelのコメントとして%sを経由文字列操作を使用しての、あなたが渡すパラメータのリストです。三二が示唆した。

+0

(OPが使用している)psycopg2 DB-APIモジュールでは、paramstyleは 'pyformat'なので、'? 'の代わりに'%s'をプレースホルダーとして使用します。それらを代用するのではなくバンドです。 –

+2

[関連ドキュメント](http://initd.org/psycopg/docs/usage.html#query-parameters)はリンクする価値があります。 –

+0

ありがとうございました。 –

関連する問題