PythonのMySQLのクエリパラメータのプログラミングエラー:1064(42000)

Fatemeh:

私は、Pythonのプログラムを使用してクエリのMySQLテーブルにしたいが、私はこのエラーを得ました:

ProgrammingError:1064(42000):あなたは、あなたのSQL構文でエラーが発生しています。右の構文についてはMySQLサーバのバージョンに対応する「が」10' の近くに使用行1に「0 'を相殺するためにというマニュアルをご確認ください

混乱の事は、私は、変数を使用しないとき、それが下に示されるように、クエリが完全に実行されるということです。

cur = connection.cursor()
query = "SELECT * FROM DB.Table LIMIT 10 OFFSET 0"

cur.execute(query)

records = cur.fetchall()

for record in records:
    print(record)

しかし、私は、バッチによるデータのバッチを選択する必要があり、私は、forループで上記のコマンドを行う必要があります。そして私は、変数を定義する必要があります。しかし、私はここでエラー1064を得たエラーとコードです。

i = 0
p = str(i)
j = 10
q = str(j)

cur = connection.cursor()
query = "SELECT * FROM DB.Table LIMIT %s OFFSET %s"

cur.execute(query,(q,p,))

records = cur.fetchall()

for record in records:
    print(record)

私はあなたの助けに感謝します。

完璧:

単純に、エラーが示す単一引用符などの文字列にパラメータ化された値を変換しません。

i = 0
j = 10

cur = connection.cursor()
query = "SELECT * FROM DB.Table LIMIT %s OFFSET %s"

cur.execute(query, (j, i))

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=279908&siteId=1