0
我有一个很长的查询,我需要执行,并且我正在使用预准备语句将值插入到查询中。据我所知,这是假设工作,但它不工作!Python/Mysql:拒绝转义字符串!
下面的代码:
cursor = connection.cursor()
rows = cursor.execute(r"""SELECT... %s.. %s.. %s...""",(val1,val2,val3,))
rows = cursor.fetchall()
rows = text_position(rows)
如果我插入一个简单的引号它打破,而同样的事情,如果我将任何非英语字符。当我将陈述包裹在它们中时,它使用双引号。有什么建议么?
有什么错误:
一旦你完成调试,就可以关闭记录的mysqld,并重新启动它?发布实际的SQL语句也会有所帮助 – dfb 2011-06-07 17:33:54
这是因为你的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以在''test''附近使用正确的语法)ON DUPLICATE KEY UPDATE count = count + 1'at line 1'。当我插入一个非英文字符时,我得到这个''ascii'编解码器不能编码字符u'\ xf6'在位置6:序号不在范围(128)'中。对不起,我无法发布查询,但我可以告诉你这是一个全文搜索。我希望这有助于.. – qwerty 2011-06-07 17:37:09
我刚解决了它!这只是我犯的一个错误,我在另一个查询中使用了相同的变量,这就是引发错误的查询,而不是这个。虽然谢谢! – qwerty 2011-06-07 17:41:09