如何在python中使用sqlite中的变量进行搜索

2024-03-29 00:23:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用"+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

Tags: importsqluiddatetimetimeasconnectsys
2条回答
 cur.execute("SELECT Name FROM Users where %s=?" % (Id), (uid,))

也看看这个答案 Python sqlite3 string variable in execute

不要对SQL使用字符串操作。它会导致sql注入。你知道吗

改变

cur.execute("SELECT Name FROM Users WHERE Id = "+uid+";")

到(使用prepared statements

cur.execute("SELECT Name FROM Users WHERE Id=?;", (uid,))

相关问题 更多 >