2019-03-10
閱讀量:
872
關于MySQL的1064錯誤
MySQL的1064錯誤是SQL語句寫的有問題時出現(xiàn)的,即SQL的語法錯誤。筆者常常使用MySQL-python這個庫來對MySQL進行操作,代碼中報這個錯誤的一般是cursor.execute(sql, param)這一行。
這種參數式執(zhí)行SQL語句的用法可以有效防止SQL注入的安全問題,但是為什么MySQL會報錯呢?如果你確認SQL寫的沒問題,檢查一下SQL語句中是否使用了引號。
在使用cursor.execute(sql, param)時,MySQL-python庫會自動轉義含有%s的字符串,所以不要畫蛇添足在SQL語句中給%s加引號了,會報1064的錯誤滴!
另外也有許多人使用有SQL注入隱患的cursor.execute(sql % param)這種用法,這樣是可以給%s加引號的。
但是安全問題孰重孰輕,相信各位自有判斷。






評論(0)


暫無數據
推薦帖子
0條評論
1條評論
0條評論