SQLite : Python開發環境下,使用SQLite的參數化查詢,可以避免因包含 ' 單引號(apostrophe)的字串,所引起的錯誤
- 使用Python的 % 串接字串,很好用,很方便,但如果字串中包含單引號 (apostrophe, ASCII : 39),又沒有預先處理好,就會造成SQL執行錯誤,例如:
zSQL="""INSERT INTO logs
(logA,logB,logC,logD,logE,logF) values (
'%s','%s',%d,%d,%d,'%s');
"""
SQL=zSQL%(strA,strB,strC,strD,strE,strF)
- 如果直接改成參數化的語法,這樣就可以自動排除單引號 (apostrophe, ASCII : 39)所引起的錯誤。
oConn.execute("INSERT INTO logs (logA,logB,logC,logD,logE,logF) values (?,?,?,?,?,?), (strA,strB,strC,strD,strE,strF))"
- 參考資料:https://zh.wikipedia.org/wiki/參數化查詢
沒有留言:
張貼留言