Lorsque vous tentez d'exécuter une instruction SQL à l'aide de mysql.connector, vous pouvez rencontrez l'erreur "Tous les paramètres n'ont pas été utilisés dans l'instruction SQL." Cette erreur indique une inadéquation entre le nombre de paramètres spécifiés dans la requête SQL et le nombre de valeurs fournies dans le tuple de données.
Pour résoudre ce problème, examinez attentivement la requête SQL et confirmez que tous les paramètres sont correctement configurés. utilisé. Dans le code fourni, le problème survient car les caractères d'espace réservé pour les entiers (%d) sont incorrects.
add_user = ("INSERT INTO DB.tbluser " "(username, department, startyear, currentpos, link) " "VALUES (%s, %s, %d, %d, %s)") # Incorrect use of %d for integers
Pour corriger cette erreur, utilisez plutôt le caractère d'espace réservé correct pour les entiers (%s) :
add_user = ("INSERT INTO DB.tbluser " "(username, department, startyear, currentpos, link) " "VALUES (%s, %s, %s, %s, %s)") # Correct use of %s for all parameters
N'oubliez pas que les caractères d'espace réservé varient en fonction de l'adaptateur de base de données que vous utilisez. Pour mysql.connector, %s est utilisé à la fois pour les chaînes et les entiers. En utilisant les caractères fictifs appropriés, vous pouvez vous assurer que le nombre de paramètres correspond aux valeurs fournies, éliminant ainsi l'erreur « Tous les paramètres n'ont pas été utilisé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!