Skip to main content
 首页 » 编程设计

python之我如何在 python 中的 sqlite 中搜索变量

2025年05月04日20tuyile006

我正在尝试使用 "+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,))