我想在我的字符串中的每個引號之前插入一個\以使用pymysql將其插入到我的SQL數據庫中。如果我不逃避引號,我不能在我的數據庫中插入字符串。如何在字符串python中引號前插入反斜槓
對於爲例:
str = "ok I'm ready"
必須是:
str = "ok I\'m ready"
but print str must be : "ok I'm ready"
要執行它,我已經做了:
str = str.replace("'", "\'")
但它不工作,我仍然不能插入我的字符串在我的數據庫中。我有錯誤消息:
(1064, u"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Semantic Search software can power everything from intuitive chatbots to searc' at line 1"): ProgrammingError Traceback (most recent call last): File "/var/task/setter_organizations.py", line 38, in handler structured_data.insert() File "/var/task/setter_organizations.py", line 107, in insert self.rds.insertItem(self.type, self.data) File "/var/task/RDS/rds.py", line 92, in insertItem return self.insert(req) File "/var/task/RDS/rds.py", line 35, in insert affected_rows = self.cursor.execute(request) File "/var/task/RDS/pymysql/cursors.py", line 166, in execute result = self._query(query) File "/var/task/RDS/pymysql/cursors.py", line 322, in _query conn.query(q) File "/var/task/RDS/pymysql/connections.py", line 856, in query self._affected_rows = self._read_query_result(unbuffered=unbuffered) File "/var/task/RDS/pymysql/connections.py", line 1057, in _read_query_result result.read() File "/var/task/RDS/pymysql/connections.py", line 1340, in read first_packet = self.connection._read_packet() File "/var/task/RDS/pymysql/connections.py", line 1014, in _read_packet packet.check_error() File "/var/task/RDS/pymysql/connections.py", line 393, in check_error err.raise_mysql_exception(self._data) File "/var/task/RDS/pymysql/err.py", line 107, in raise_mysql_exception raise errorclass(errno, errval) ProgrammingError: (1064, u"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's Semantic Search software can power everything from intuitive chatbots to searc' at line 1")
我也將打印我的字符串,並沒有看到\
有誰知道我該怎麼辦?
「它不工作」並不是一個足夠準確的錯誤描述,可以幫助我們。 *什麼*不起作用? *如何*不工作?你的代碼有什麼問題?你有錯誤信息嗎?什麼是錯誤信息?你得到的結果不是你期待的結果嗎?你期望得到什麼結果?爲什麼?你得到的結果是什麼?兩者有什麼不同?你正在觀察的行爲不是所期望的行爲?什麼是期望的行爲,爲什麼,觀察到的行爲是什麼,以及它們以何種方式不同? –
這是因爲\是一個轉義字符。添加另一個,你很好 – Florian
所以基本上你想逃避這些字符時,你插入到SQL數據庫使用SQL查詢正確嗎? –