码迷,mamicode.com
首页 > 数据库 > 详细

【python】sql语句插入中内容同时包含单引号和双引号的解决办法

时间:2016-08-04 13:12:28      阅读:874      评论:0      收藏:0      [点我收藏+]

标签:

在python中调用MySQLdb模块插入数据信息,假设待输入信息data为:

HelloWorld"!

其中同时包含了单引号和双引号

一般插入语句为

sql = "insert into tb (my_str) values(‘%s‘)" % (data)
cursor.execute(sql)

其中values(‘%s‘)中的%s外面也要有引号,这个引号与data中的引号匹配导致了内容错误

 

解决办法:转义字符

将data变为下面的形式,再插入数据库就正确了

Hello\World\"!

具体在python中的转义函数如下:

def transferContent(self, content):
        string = ""
        for c in content:
            if c == ":
                string += \\\"
            elif c == "":
                string += "\\\‘"
            else:
                string += c
        return string

要加三个\,这是因为\\会在函数中转义为\,\‘会转义成‘,两者合起来才能在字符串中留下 \‘,然后sql读取后才能识别这是转义

 

在python中,下面两种写法是一样的

a=""
a=" \‘ "

 

【python】sql语句插入中内容同时包含单引号和双引号的解决办法

标签:

原文地址:http://www.cnblogs.com/dplearning/p/5736093.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!