Maison >base de données >tutoriel mysql >Comment puis-je échapper aux caractères spéciaux dans les requêtes MySQL pour éviter les erreurs de syntaxe ?

Comment puis-je échapper aux caractères spéciaux dans les requêtes MySQL pour éviter les erreurs de syntaxe ?

DDD
DDDoriginal
2024-12-18 20:54:11379parcourir

How Do I Escape Special Characters in MySQL Queries to Avoid Syntax Errors?

Échappement des caractères spéciaux dans les requêtes MySQL

Problème :

Lors de la construction de requêtes SQL impliquant des caractères, vous pouvez rencontrer des erreurs de syntaxe. Par exemple, une requête du type :

select * from tablename where fields like "%string "hi"  %";

entraînera une erreur : "Vous avez une erreur dans votre syntaxe SQL..."

Solution :

Pour résoudre ce problème, vous devez échapper aux caractères spéciaux dans la requête. MySQL reconnaît diverses séquences d'échappement :

  • : ASCII NUL
  • ' : guillemet simple
  •  : guillemet double
  • b : retour arrière
  • n : Nouvelle ligne
  • r : Chariot return
  • t : Tabulation
  • Z : ASCII 26
  • \ : Barre oblique inverse
  • % : Pourcentage
  • _ : Soulignement

Exemple :

Pour corriger la requête ci-dessus, vous devez échapper aux guillemets :

select * from tablename where fields like "%string \"hi\" %";

Remarque : L'utilisation de guillemets doubles comme délimiteurs de chaîne n'est pas du SQL standard. Il est recommandé d'utiliser des guillemets simples à la place, ce qui simplifie le processus. requête :

select * from tablename where fields like '%string "hi" %';

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!

Déclaration:
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