Ris*_*ino 18 python sqlite python-3.x
从SQLite3数据库中删除记录时遇到问题:
conn = sqlite3.connect('databaza.db')
c = conn.cursor()
data3 = str(input('Please enter name: '))
mydata = c.execute('DELETE FROM Zoznam WHERE Name=?', (data3,))
conn.commit()
c.close
Run Code Online (Sandbox Code Playgroud)
一切都好,没有错误,但删除功能不起作用!
有没有人有想法?
Cam*_*non 17
参数化查询的正确语法是:
mydata = c.execute("DELETE FROM Zoznam WHERE Name=?", (data3,))
Run Code Online (Sandbox Code Playgroud)
确保参数使用逗号,使其成为python元组.
这将有助于防止在传入格式化字符串时可能出现的SQL注入.更多关于SQL注入的信息
相关文章在这里.
Ris*_*ino -8
感谢所有试图提供帮助的人。正确的代码是:
conn = sqlite3.connect('databaza.db')
c = conn.cursor()
conn.text_factory = str
data3 = str(input('Please enter name: '))
query = "DELETE FROM Zoznam WHERE Name = '%s';" % data3.strip()
print(query)
mydata = c.execute(query)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
54505 次 |
最近记录: |