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