2016-11-09 57 views
-2

在這裏,我想插入一個名字到第頁。 有時候,這個名字並不像下面的圖片那樣規則。 http://ob9j09f06.bkt.clouddn.com/2016-11-09-22%3A58%3A19.jpg如何插入'到postgres?

如何將此數據更新爲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是不是使用字符串操作到%S作爲@Colonel的評論,你傳遞的參數列表,三十二條建議。

+0

使用psycopg2 DB-API模塊(OP正在使用),paramstyle是'pyformat',所以不是'?'它是佔位符'%s' - 但仍然將參數傳遞出來而不是用它們代替。 –

+2

[相關文檔](http://initd.org/psycopg/docs/usage.html#query-parameters)值得鏈接。 –

+0

非常感謝。 –