我是新的编码和数据库,我不能让查询工作,如果我写它长手,但我有很多要执行的,希望它在一个函数,但不能让它工作,它返回一个参数错误
import mysql.connector
def connection_check_1(query, value):
mydb = mysql.connector.connect(
host="******",
user="*****",
passwd="*****",
database="****"
)
mycursor = mydb.cursor()
mycursor.execute(query, (value))
myresult = mycursor.fetchall()
mydb.close()
return myresult
value = "sheep"
query = 'select inlicence from licence where animal = %s'
myresult = connection_check_1(query, value)
print(myresult)
这是我的sql表
create table licence
(
animal varchar (20) primary key,
inlicence int (1)
);
这就是我得到的错误
回溯(最近一次呼叫):
文件“************”,第20行,in
myresult=connection\u check\u 1(查询,值)
文件“************”,第13行,连接\u check \u 1
mycursor.execute(查询,(值))
文件“*********************************************88”,第246行,在execute中
prepared=self.\u cnx.prepare\u for\u mysql(参数)
file“/home/kev/pycharmprojects/test bed/venv/lib/python3.5/site packages/mysql/connector/connection_cext.py”,第535行,在prepare_for_mysql中
raise valueerror(“无法处理参数”)
valueerror:无法处理参数
我尝试过改变查询的编写方式,将其改为 fetchall()
.
1条答案
按热度按时间kmbjn2e31#
将值 Package 为
()
不会把它变成元组。你可能想在这里加个逗号: