pymysqlを使用してSQLデータベースに挿入するために、各引用符を文字列の前に挿入したいとします。引用符をエスケープしないと、データベースに文字列を挿入できません。 exempleについては文字列の引用符の前に backslashを挿入する方法
:
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データベースに挿入すると、そのような文字をエスケープしたいのですか? –