Adakah Penggantian Parameter SQLite Menyebabkan Ralat Mengikat dalam Python?

Linda Hamilton
Lepaskan: 2024-10-19 15:23:30
asal
603 orang telah melayarinya

Is SQLite Parameter Substitution Causing Binding Errors in Python?

Isu Penggantian Parameter SQLite

Apabila menggunakan SQLite3 dengan Python 2.5, isu biasa timbul apabila cuba mengulangi senarai dan mendapatkan data daripada pangkalan data. Menggunakan "?" yang dicadangkan parameter sebagai langkah berjaga-jaga untuk suntikan SQL sering mengakibatkan ralat berkenaan bilangan pengikatan.

Setelah disiasat, ternyata ralat itu berpunca daripada penciptaan awal jadual pangkalan data. Pernyataan penciptaan, seperti:

<code class="sql">CREATE TABLE Equipment (id INTEGER PRIMARY KEY, name TEXT, price INTEGER, weight REAL, info TEXT, ammo_cap INTEGER, availability_west TEXT, availability_east TEXT);</code>
Salin selepas log masuk

mendaftarkan lapan pengikatan, walaupun hanya satu parameter digunakan semasa pertanyaan.

Untuk menyelesaikan isu ini, ubah suai kod untuk menggunakan urutan sebagai parameter kedua kepada kaedah Cursor.execute():

<code class="python">self.cursor.execute("SELECT weight FROM Equipment WHERE name = ?", [item])</code>
Salin selepas log masuk

Pengubahsuaian ini memastikan urutan dibekalkan kepada kaedah, menyelesaikan kekeliruan mengenai bilangan pengikatan.

Merujuk dokumentasi Objek Kursor SQLite3 boleh memberikan panduan lanjut tentang topik ini.

Atas ialah kandungan terperinci Adakah Penggantian Parameter SQLite Menyebabkan Ralat Mengikat dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!