Rumah > pembangunan bahagian belakang > Tutorial Python > Mengapa Kod SQLite3 Saya Membuang Ralat \'Ikatan Salah Dibekalkan\'?

Mengapa Kod SQLite3 Saya Membuang Ralat \'Ikatan Salah Dibekalkan\'?

Barbara Streisand
Lepaskan: 2024-12-05 01:15:10
asal
1085 orang telah melayarinya

Why Does My SQLite3 Code Throw an

Ralat SQLite3: Pengikatan Salah Dibekalkan

Apabila melaksanakan pertanyaan SQL dengan parameter pengikatan, adalah penting untuk memastikan bilangan pengikatan yang betul dibekalkan. Dalam kod yang diberikan, ralat berikut ditemui:

sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 74 supplied
Salin selepas log masuk

Setelah memeriksa kod:

def insert(array):
    connection = sqlite3.connect('images.db')
    cursor = connection.cursor()
    cnt = 0
    while cnt != len(array):
        img = array[cnt]
        print(array[cnt])
        cursor.execute('INSERT INTO images VALUES(?)', (img))
        cnt += 1
    connection.commit()
    connection.close()
Salin selepas log masuk

Menjadi jelas bahawa isunya terletak pada cara parameter bind ditentukan dalam pernyataan cursor.execute:

cursor.execute('INSERT INTO images VALUES(?)', (img))
Salin selepas log masuk

Untuk menyelesaikan ralat, koma diperlukan untuk mencipta tuple:

cursor.execute('INSERT INTO images VALUES(?)', (img,))
Salin selepas log masuk

Sebagai alternatif, literal senarai boleh digunakan:

cursor.execute('INSERT INTO images VALUES(?)', [img])
Salin selepas log masuk

Dengan memastikan parameter ikatan dibekalkan dengan betul sebagai tupel atau senarai, bilangan ikatan yang betul akan digunakan, menyelesaikan ralat.

Atas ialah kandungan terperinci Mengapa Kod SQLite3 Saya Membuang Ralat \'Ikatan Salah Dibekalkan\'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan