Connector/Python Select语句不起作用

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

这意味着它不能代替电话号码.

zer*_*323 6

根据Python Database API,参数应该作为序列或映射提供,而(number)不是一个.

要创建单个元素元组,您需要在元素后面添加逗号.

cursor.execute('SELECT * FROM channel WHERE phone_number = %s', (number, ))
Run Code Online (Sandbox Code Playgroud)