2

MySQL データベースのフィールドに HTML コードを挿入しようとしています。

私はそれを行うために次のコードを使用します

cur.execute("INSERT INTO `table1`(field1) VALUES("+ str(data) +")")

しかし、次のエラーが表示されます。

_mysql_exceptions.ProgrammingError: (1064, '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 \'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 
Transitional//EN" "http://www.w3.or\' at line 3')

どうすればこの問題を解決できますか? 前もって感謝します!

4

2 に答える 2

4

文字列をエスケープする必要があります。

cur.execute("INSERT INTO `table1`(field1) VALUES('"+ conn.escape_string(str(data))+"')")

connあなたのつながりはどこにありますか。

于 2012-08-15T15:42:19.323 に答える
1

文字列を確認してください - 一重引用符をエスケープしているようですが、二重引用符はエスケープしていないようです (二重引用符で囲んでいるため、文字列は「早期」に閉じます)。

于 2012-08-15T15:42:04.260 に答える