python - 使用 Python 从 MySQL 数据库中选择数据时使用“%s”附近错误的正确语法
问题描述
运行此代码
res = cursor.execute("SELECT `password` FROM `players` WHERE `username` = %s", usern)
我收到此错误:
mysql.connector.errors.ProgrammingError: 1064 (42000): 你的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '%s' 附近使用正确的语法
解决方案
参数化查询需要一个元组作为参数:
query = """SELECT `password` FROM `players` WHERE `username` = %s"""
res = cursor.execute(query, (usern, ))
推荐阅读
- spring - 由于 java.net.ConnectException 无法找到 PropertySource:连接被拒绝
- java - 使用 PDFBox 正确地将 PDF 渲染为图像
- python - 有什么想法可以优化这个算法吗?
- php - 无法验证密码
- angular - 当路径为空时,为什么子组件不会在父路由出口中呈现?
- server - 如何使用 j Meter 超载服务器
- winapi - 尽管 FILE_FLAG_BACKUP_SEMANTICS,CreateFile 返回 ERROR_ACCESS_DENIED
- c - memcpy 然后 printf,调用 stat(),写入缓冲区;
- react-native - react-navigation 标题中的后退图标使用 StackNavigators 回到上一个 StackNavigator
- ruby-on-rails - 在对购物车项目应用符合条件的交易/促销后找到最小购物车价值的算法策略