我引用this page为了对我的数据库进行SELECT查询。不过,我得到这个错误:mysql.connector - 你的SQL语法有错误;在第1行'%s'附近
mysql.connector.errors.ProgrammingError: 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
这里的代码有问题的部分:
import mysql.connector
cnx = mysql.connector.connect(user='xxxx', password='yyyy',
host='zzzz.us-west-2.rds.amazonaws.com',
database='iiii')
cursor = cnx.cursor()
# ...
givenUsername = 'testUser123'
checkUserAuthQuery = ("SELECT password FROM UserAuth WHERE username = %s")
userAuthInfo = (givenUsername)
cursor.execute(checkUserAuthQuery, userAuthInfo)
# ...
注:
- 当%s
它的工作原理做一个INSERT查询。
- 此外,替换%s
与'testuser123'
作品。
您是否尝试使用'userAuthInfo'而不是字符串? –
工作,谢谢@ IgnacioVazquez-Abrams。我从来没有想过这件事。 –
好吧,DB-API 2.0确实指定第二个参数应该是要替换的一系列值,所以我会说连接器因为没有抛出有用的异常而出错。 –