首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用于MySQL的转义字符串Python

用于MySQL的转义字符串Python
EN

Stack Overflow用户
提问于 2010-09-01 18:24:00
回答 5查看 137.3K关注 0票数 75

我使用Python和MySQLdb下载网页并将其存储到数据库中。我遇到的问题是,我不能将复杂的字符串保存在数据库中,因为它们没有正确转义。

Python中有没有一个函数可以用来对MySQL的字符串进行转义?我尝试使用''' (三重简单引号)和""",但不起作用。我知道PHP有mysql_escape_string(),Python也有类似的东西吗?

谢谢。

EN

回答 5

Stack Overflow用户

发布于 2010-09-01 18:29:58

代码语言:javascript
复制
conn.escape_string()

请参见MySQL C API函数映射:http://mysql-python.sourceforge.net/MySQLdb.html

票数 98
EN

Stack Overflow用户

发布于 2014-12-20 07:36:35

如果您使用他们的实现来构建一个MySQLdb查询字符串,而不是试图构建您自己的,那么SQL库实际上将为您完成这项工作。

不要这样做:

代码语言:javascript
复制
sql = "INSERT INTO TABLE_A (COL_A,COL_B) VALUES (%s, %s)" % (val1, val2)
cursor.execute(sql)

执行以下操作:

代码语言:javascript
复制
sql = "INSERT INTO TABLE_A (COL_A,COL_B) VALUES (%s, %s)"
cursor.execute(sql, (val1, val2))
票数 75
EN

Stack Overflow用户

发布于 2017-08-03 21:27:50

代码语言:javascript
复制
>>> import MySQLdb
>>> example = r"""I don't like "special" chars ¯\_(ツ)_/¯"""
>>> example
'I don\'t like "special" chars \xc2\xaf\\_(\xe3\x83\x84)_/\xc2\xaf'
>>> MySQLdb.escape_string(example)
'I don\\\'t like \\"special\\" chars \xc2\xaf\\\\_(\xe3\x83\x84)_/\xc2\xaf'
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3617052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档