2

私は自分のコードで次のようなことをしています:

import sqlite3
...
sqlString=company['name']+","+simplejson.dumps(info)
cur.execute("INSERT INTO companyInfo VALUES("+sqlString+")")

しかし、次のエラーが発生します:cur.execute( "INSERT INTO companyBlobs VALUES(" + valueString + ")")sqlite3.OperationalError:認識されないトークン: "{"

これはJSONデータのエスケープに関する問題だと思いますが、修正方法がわかりません。アイデア?

4

1 に答える 1

5

パラメータ化されたクエリを使用してみてください。

sqlString=company['name']+","+simplejson.dumps(info)
cur.execute("INSERT INTO companyInfo VALUES (?)", (sqlString, ))

これにより、入力が自動的にエスケープされます。

于 2013-01-14T19:04:20.880 に答える