use*_*759 2 python sqlite string
我正在尝试在 python 中的 SQLite Select 语句中插入一个字符串。当我尝试此代码时:
cur.execute("SELECT * FROM DB WHERE employeeNum = '?'",(empNum,))
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 0, and there are 1 supplied.
Run Code Online (Sandbox Code Playgroud)
当我尝试此代码时:
cur.execute("SELECT * FROM DB WHERE employeeNum = '",empNum,"'")
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
TypeError: function takes at most 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)
我如何查询这个字符串?抱歉,我是 Python 新手。任何帮助将不胜感激!
不要使用字符串格式将查询参数插入查询 - 这将使 sql 注入成为可能,您会遇到需要转义的字符、数据类型转换等问题。
消除周围的引号?并继续使用参数化查询参数:
cur.execute("SELECT * FROM DB WHERE employeeNum = ?", (empNum, ))
Run Code Online (Sandbox Code Playgroud)
周围的引号?使 sqlite 解释?为字符串,而不是占位符。
另见类似问题:
| 归档时间: |
|
| 查看次数: |
4051 次 |
| 最近记录: |