Erreur de liaison dans SQLite3
Lorsque vous tentez d'exécuter une requête SQL avec plusieurs liaisons à l'aide de sqlite3, vous pouvez rencontrer le message « Nombre incorrect de liaisons message d'erreur fourni". Cette erreur se produit lorsque le nombre de liaisons fournies ne correspond pas au nombre de paramètres définis dans la requête.
Dans l'exemple de code :
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()
Lors de la tentative d'insertion d'une chaîne de 74 caractères , vous recevez le message d'erreur, indiquant une inadéquation entre le nombre de liaisons et de paramètres.
Pour résoudre ce problème, assurez-vous de transmettre une séquence valide en tant que paramètre. Dans ce cas, les parenthèses autour de la variable img doivent inclure une virgule pour créer un tuple :
cursor.execute('INSERT INTO images VALUES(?)', (img,))
Alternativement, vous pouvez utiliser un littéral de liste :
cursor.execute('INSERT INTO images VALUES(?)', [img])
En corrigeant le paramètre , vous fournirez le nombre correct de liaisons pour la requête, résolvant ainsi l'erreur et vous permettant d'insérer les données avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!