我在將數據傳遞到%s令牌時遇到問題。我環顧四周,發現這個Mysql模塊處理%s標記的方式不同,並且出於安全原因它應該被轉義,我的代碼拋出這個錯誤。Python mysql.connector模塊,將數據傳遞到字符串VALUE%s
mysql.connector.errors.ProgrammingError:1064(42000):您在您的 SQL語法中有錯誤;檢查對應於你的MySQL服務器版本 正確的語法在1號線
如果我不喜歡這樣使用近「%S)」的手冊:
sql_insert = ("INSERT INTO `Products` (title) VALUES(%s)"),(data)
我得到一個元組的錯誤。 。
import mysql.connector
from mysql.connector import errorcode
cnx = mysql.connector.connect (user='userDB1', password='UserPwd1',
host='somedatabase.com', database='mydatabase1')
cursor = cnx.cursor()
sql_insert = ("INSERT INTO `Products` (title) VALUES(%s)")
data=('HelloSQLWORLD')
cursor.execute(sql_insert,data)
cnx.commit()
cnx.close()
謝謝,這是我正在尋找的答案,儘管@Jonon的解決方案可以工作,但這種方法最好是由於漏洞。 –