0
我們知道,Python的cgi.escape()函數不會轉義引號或撇號。 Python MySQLdb API可以這麼說嗎? 在下面的例子中,O'Reilly中的撇號在進入數據庫時轉義了嗎?python mysql api撇號
lastname = O'Reilly
cursor.execute ('INSERT INTO table_name (surname) VALUES (%s)', (lastname,))
謝謝!
我非常喜歡你的答案!我能否誤導你提供一些文檔?我相信我已經爲網絡搜索過,但你一定找到了我錯過的東西。謝謝! – Rob 2012-07-28 18:13:49
我已經做了15年的數據庫訪問,所以這是來自於經驗 - 它只是所有數據庫庫的工作方式:-)你在execute()調用中做的是綁定標記('%s ')到參數。沒有涉及逃脫(至少在概念上 - 你應該忽略MySQLdb庫在底層做了什麼......) – thebjorn 2012-07-28 18:22:22
哈哈,我想這是我的問題;我想知道當涉及到清理數據時,Python在底層做了些什麼。你是說O'Reilly變成了O「' Reilly或O \\\'Reilly或者是在路由到db表的時候?那麼如果我把這些數據調用到html文件中,我沒有進一步的逃避行爲了嗎?在你編碼的幾年中,你有沒有看過任何解決這個問題的Python文檔?我很欣賞你的答案。 – Rob 2012-07-28 18:37:25