有人可以幫我弄清楚下面的代碼有什麼問題。這是一個的嘗試使用Connector/Python連接器/ Python選擇語句不起作用
number = '+12345678901'
cursor.execute('SELECT * FROM channel WHERE phone_number = %s', (number))
它產生以下錯誤一個MySQL數據庫中選擇一個Python應用程序:
1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s' at line 1
當我檢查MySQL的日誌,我看到以下內容:
SELECT * FROM channel WHERE phone_number = %s
這意味着它並不代替電話號碼。
順便說一句,我想你也可以更換也使用python的字符串。例如,'SELECT * FROM channel WHERE phone_number =%s'%(number)' – mohit
@mohit容易受到sql注入攻擊。 SQL查詢字符串不應以這種方式連接。 – Kes115