美文网首页测试开发
Python_MySql语句插入中内容同时包含单引号和双引号的解

Python_MySql语句插入中内容同时包含单引号和双引号的解

作者: 古佛青灯度流年 | 来源:发表于2018-03-31 16:46 被阅读3次

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

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

一般插入语句为

sql = "insert into tb (my_str) values('%s')" % (data)
cursor.execute(sql)</pre>

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

解决办法一: MySQLdb.escape_string()

在MySQLdb模块中自带针对mysql的转义函数escape_string(),直接调用即可

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

解决办法二:转义字符

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

Hello\'World\"!

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

def transferContent(self, content): 
            if content is None: return None else:
            string = ""
            for c in content: if c == '"':
                    string += '\\\"'
                elif c == "'":
                    string += "\\\'"
                elif c == "\\":
                    string += "\\\\"
                else:
                    string += c return string</pre>

相关文章

  • Python_MySql语句插入中内容同时包含单引号和双引号的解

    在python中调用MySQLdb模块插入数据信息,假设待输入信息data为: 其中同时包含了单引号和双引号 一般...

  • 【转】【python】sql语句插入中内容同时包含单引号和双引号

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

  • PHP面试题

    1、双引号和单引号区别 双引号解释变量,单引号不解释变量。 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • PHP面试4

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • php基础面试题

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • PHP经典面试题目汇总

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • 2017年最新PHP经典面试题目汇总(上篇)

    1、双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解...

  • PHP面试基础题(一)

    1.双引号和单引号的区别? 答:双引号中的变量将被解,单引号中的变量不全被解析;使用双引号会先查询是否引号中包含变...

  • Python 基础知识全篇-字符串(Strings)

    单引号和双引号 字符串可以包含在单引号或双引号中。 my_string = "This is a double-q...

  • 2019-01-19 工具

    Shell 单引号('') 被单引号包裹的内容被视为字符串,即使包含\n字符 双引号("") 被双引号包裹的内容视...

网友评论

    本文标题:Python_MySql语句插入中内容同时包含单引号和双引号的解

    本文链接:https://www.haomeiwen.com/subject/brzgcftx.html