没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论














解决解决python 执行执行sql语句时所传参数含有单引号的问题语句时所传参数含有单引号的问题
主要介绍了解决python 执行sql语句时所传参数含有单引号的问题,具有很好的参考价值,希望对大家有所帮
助。一起跟随小编过来看看吧
在编写自己的程序时,需要实现将数据导入数据库,并且是带参数的传递。
执行语句如下:执行语句如下:
sql_str = "INSERT INTO teacher(t_name, t_info, t_phone, t_email) VALUES\
(\'%s\', \'%s\', \'%s\', \'%s\')" % (result, result2, phoneNumber, Email)
cur.execute(sql_str)
执行程序后,产生错误:执行程序后,产生错误:
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your
MySQL server version for the right syntax to use near '07、PRICAI'08、ACML'09 程序委员会主席/共同主席,多
次担任 ACM K' at line 1")
发现是因为result2参数为一个字符串,而字符串中出现了单引号 ',mysql语句受到影响报错。
原本认为这个问题应该会是有标准解决方案,可是网上查询了一下,遇到这个问题的人不少,但没有很好的方法解决。
于是考虑了一下,可以让sql语句在读取到单引号时,知道这是字符串文本的单引号,所以可以将参数中单引号替换为 \' ,这
样或许可以顺利语句如下:
result2 = result2.replace("'","\'") #将result2中的 ' 替换为 \'
PS: 这里请务必看清双引号以及反斜杠的使用:)
经过测试,问题得到了顺利解决。
补充知识:补充知识:python动态生成变量及动态生成变量及sql语句与语句与DF表转化表转化
先说效果:
如图,本来是这样的一个DF表,表示各字段限制条件(A、B、C、D均为字段名)
通过下面步骤转化为一条sql语句,当然也做了反向操作
for i in range(3):
locals()['f'+str(i)]=[]
import pandas as pd
import numpy as np
a = pd.DataFrame({"A":[">=",5],
"B":["<",6],
"C":["in",'("ha","he")'],
"D":["like","*q*"]
})
print(a)
b = []
for i in a.columns:
b.append(str(i)+" "+str(a[i][0])+" "+str(a[i][1]).strip())
c = " and ".join(b)
#b = b+str(i)+" "+str(a[i][0])+" "+str(a[i][1])+" "+"and"+" "
#print(c)
d = c.split(" and ")
for i in range(3):
locals()['f'+str(i)]=[]
for j in (range(len(d))):
资源评论

- wxb0cf756a5ebe75e92023-07-26这个文件提供了一个简单而有效的解决方案,帮助我解决了在执行SQL语句时参数含有单引号的困扰。
- 养生的控制人2023-07-26这个文件详细阐述了Python中解决SQL语句参数含有单引号问题的方法,帮助到了我。
- 张博士-体态康复2023-07-26这个文件给出了一种实际可行的方法来解决Python执行SQL语句时传递带有单引号参数的问题,非常实用。
- 久久爆品汇2023-07-26这个文件提供了一种简洁而实用的解决方案,解决了我在SQL语句中参数带有单引号时的困惑。
- 尹子先生2023-07-26这个文件对于解决Python执行SQL语句中参数含有单引号问题非常有帮助,让我省去了很多烦恼。

weixin_38689922
- 粉丝: 6
- 资源: 915
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
