gpt4 book ai didi

Python MySQLdb WHERE SQL LIKE

转载 作者:太空狗 更新时间:2023-10-29 22:00:19 25 4
gpt4 key购买 nike

我最近开始学习用于网络目的的 Python 和 MySQL,但遇到了以下问题:

我想从 mysql 数据库中提取一条包含我在参数部分输入的任何文本的记录,但是我在进行查询时遇到了以下问题:

traceback (most recent call last):
File "/Users/Strielok/Desktop/test.py", line 13, in <module>
c.execute("SELECT * FROM data WHERE params LIKE ('%s%') LIMIT 1" % (param))
TypeError: not enough arguments for format string

这是我的代码:

import MySQLdb



db = MySQLdb.connect (host = "localhost",
user = "root",
passwd = "root",
db = "test")
param = "Test"

par = param

c = db.cursor()

c.execute("SELECT * FROM data WHERE params LIKE ('%s%') LIMIT 1" % (param))


data = c.fetchall()
print data

c.close()

提前致谢。

最佳答案

直接将数据插入 SQL 字符串并不是最好的方法,因为它很容易出现 SQL injection。 .你应该把它改成这样:

c.execute("SELECT * FROM data WHERE params LIKE %s LIMIT 1", ("%"+ param + "%",))

关于Python MySQLdb WHERE SQL LIKE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10903497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com