0
cursor.execute("INSERT INTO pattent VALUES ('%s','%s','%s','%s','%s','%s')" %(PattentNumber,PattentName,PattentInventors,PattentCompany,PattentFiledtime,PattentAbstract))
sqlite3.OperationalError: near "s": syntax error

上記は私のINSERT文です。他のケースでは問題なく動作しますが、sqlite3.OperationalError: near "s": syntax error

私は Python を使用しており、すべての VALUES はテキストです。ウアーグはどこ?

ありがとうございました!

4

1 に答える 1

4

文字列の書式設定を使用しないでください。代わりに SQL パラメータを使用してください。

cursor.execute("INSERT INTO pattent VALUES (?, ?, ?, ?, ?, ?)",
    (PattentNumber, PattentName, PattentInventors, PattentCompany, PattentFiledtime, PattentAbstract))

SQL パラメーターは、値が正しくエスケープされていることを確認し、SQL インジェクション攻撃を防ぎ、さまざまな型を適切に処理します。

于 2013-03-29T13:02:39.833 に答える