2012-07-28 97 views
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,)) 

謝謝!

回答

-1

是的,它是(和答案需要至少30個字符)。

+0

我非常喜歡你的答案!我能否誤導你提供一些文檔?我相信我已經爲網絡搜索過,但你一定找到了我錯過的東西。謝謝! – Rob 2012-07-28 18:13:49

+0

我已經做了15年的數據庫訪問,所以這是來自於經驗 - 它只是所有數據庫庫的工作方式:-)你在execute()調用中做的是綁定標記('%s ')到參數。沒有涉及逃脫(至少在概念上 - 你應該忽略MySQLdb庫在底層做了什麼......) – thebjorn 2012-07-28 18:22:22

+0

哈哈,我想這是我的問題;我想知道當涉及到清理數據時,Python在底層做了些什麼。你是說O'Reilly變成了O「' Reilly或O \\\'Reilly或者是在路由到db表的時候?那麼如果我把這些數據調用到html文件中,我沒有進一步的逃避行爲了嗎?在你編碼的幾年中,你有沒有看過任何解決這個問題的Python文檔?我很欣賞你的答案。 – Rob 2012-07-28 18:37:25