Kes*_*115 1 python mysql mysql-connector-python
有人可以帮我弄清楚以下代码有什么问题.这是一个Python应用程序试图使用Connector/Python从mysql数据库中进行选择
number = '+12345678901'
cursor.execute('SELECT * FROM channel WHERE phone_number = %s', (number))
Run Code Online (Sandbox Code Playgroud)
它产生以下错误:
1064(42000):您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在第1行的'%s'附近使用正确的语法
当我检查mysql日志时,我看到以下内容:
SELECT*FROM channel WHERE phone_number =%s
这意味着它不能代替电话号码.
根据Python Database API,参数应该作为序列或映射提供,而(number)不是一个.
要创建单个元素元组,您需要在元素后面添加逗号.
cursor.execute('SELECT * FROM channel WHERE phone_number = %s', (number, ))
Run Code Online (Sandbox Code Playgroud)