我正在尝试使用 "+uid+" 在一个 SQL 查询中插入一个变量,但似乎没有考虑该变量:
import datetime
import sqlite3 as lite
import sys
con = lite.connect('user.db')
uid = raw_input("UID?: ")
time = datetime.datetime.now()
with con:
cur = con.cursor()
cur.execute("SELECT Name FROM Users WHERE Id = "+uid+";")
rows = cur.fetchall()
for row in rows:
print row
print time
请您参考如下方法:
不要在 SQL 上使用字符串操作。它可能导致 sql 注入(inject)。
改变
cur.execute("SELECT Name FROM Users WHERE Id = "+uid+";")
到(使用准备好的语句)
cur.execute("SELECT Name FROM Users WHERE Id=?;", (uid,))
