Maison > base de données > tutoriel mysql > Comment corriger les erreurs dans les instructions de mise à jour Python MySQL ?

Comment corriger les erreurs dans les instructions de mise à jour Python MySQL ?

Linda Hamilton
Libérer: 2024-11-09 14:32:02
original
807 Les gens l'ont consulté

How to Correct Errors in Python MySQL Update Statements?

Correction des erreurs dans les instructions de mise à jour Python MySQL

Lors de la mise à jour des données dans une base de données MySQL à l'aide de Python, il est crucial de garantir la syntaxe correcte pour le Instruction UPDATE. Considérez l'instruction suivante avec des variables :

cursor.execute ("UPDATE tblTableName SET Year=%s" % Year ", Month=%s" % Month ", Day=%s" % Day ", Hour=%s" % Hour ", Minute=%s" Minute "WHERE Server=%s " % ServerID)
Copier après la connexion

Cette instruction contient plusieurs erreurs pouvant conduire à des mises à jour incorrectes. Voici l'approche correcte :

cursor.execute ("""
   UPDATE tblTableName
   SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s
   WHERE Server=%s
""", (Year, Month, Day, Hour, Minute, ServerID))
Copier après la connexion

Dans cette instruction révisée :

  • Les valeurs d'espace réservé (%s) sont incluses dans la requête SQL dans le cadre d'un tuple. Cette approche évite les vulnérabilités d'injection SQL.
  • La syntaxe SQL suit la convention correcte pour mettre à jour plusieurs colonnes dans une seule instruction.

Vous pouvez également utiliser la manipulation de chaîne de base pour la commande de mise à jour comme suit :

cursor.execute ("UPDATE tblTableName SET Year=%s, Month=%s, Day=%s, Hour=%s, Minute=%s WHERE Server='%s' " % (Year, Month, Day, Hour, Minute, ServerID))
Copier après la connexion

Cependant, cette méthode est déconseillée car elle laisse le code vulnérable à l'injection SQL attaques.

Pour éliminer tout problème potentiel lié aux conventions de remplacement de chaînes dans différents backends de bases de données, il est conseillé d'utiliser la première approche.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal