Jak*_*ane -3 python escaping python-2.7
我想在我的字符串中的每个引号之前插入一个\,使用pymysql将其插入到我的SQL数据库中.如果我不转义引号,我无法在数据库中插入字符串.
举个例子:
str ="好的我准备好了"
一定是 :
str ="好吧我准备好了"
但是打印str必须是:"好吧我已经准备好了"
为了执行它我做了:
str = str.replace("'", "\'")
Run Code Online (Sandbox Code Playgroud)
但它不起作用,我仍然无法在我的数据库中插入我的字符串.我有错误消息:
您的SQL语法有错误; 查看与您的MySQL服务器版本相对应的手册,以获得正确的语法,使用附近的语义搜索软件可以支持从直观的聊天机器人到第1行的"aarc"的所有内容.
我也会打印我的字符串,看不到\
有谁知道我该怎么办?
这有效,但不是 OP 想要的:
str = "ok I'm ready"
str = str.replace("'", "\\'")
print(str)
Run Code Online (Sandbox Code Playgroud)
编辑:
请看一下这个问题:A good way to escapequotes in a database query string?
还有另一个:Escape string Python for MySQL 他们使用了:
conn.escape_string()
Run Code Online (Sandbox Code Playgroud)
编辑 2:请参阅: Python pymySQL 发送带引号的字符串
并注意他们如何使用占位符:
cur.execute('UPDATE connections SET cmd=%s, client_new=1 where ip=%s', (command, ip))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7381 次 |
| 最近记录: |