Maison >base de données >tutoriel mysql >Comment gérer les apostrophes dans les instructions SQL INSERT et SELECT ?

Comment gérer les apostrophes dans les instructions SQL INSERT et SELECT ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-16 11:11:58340parcourir

How Do I Handle Apostrophes in SQL INSERT and SELECT Statements?

Insérer des valeurs contenant des apostrophes dans les instructions SQL

L'insertion directe de valeurs contenant des apostrophes dans les requêtes SQL peut provoquer des erreurs. En effet, les apostrophes représentent le début et la fin des chaînes en SQL. Pour résoudre ce problème, les apostrophes doivent être échappées.

Par exemple, une apostrophe apparaît dans le champ Dernier de la table Personne :

<code class="language-sql">Insert into Person
  (First, Last)
Values
  'Joe',
  'O'Brien'</code>

Cette syntaxe provoquera une erreur car l'apostrophe suivant la lettre O sera interprétée comme la fin de la valeur de la chaîne. Pour résoudre ce problème, doublez simplement l'apostrophe pour y échapper :

<code class="language-sql">INSERT INTO Person
    (First, Last)
VALUES
    ('Joe', 'O''Brien')</code>

Le même principe s'applique aux requêtes SELECT :

<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>

C'est parce que les apostrophes sont utilisées pour séparer les chaînes. Lorsque vous souhaitez utiliser une apostrophe réelle dans une chaîne, elle doit être échappée pour éviter que SQL ne la confonde avec la fin de la chaîne.

Cependant, il convient de noter que les développeurs ne rencontrent généralement pas ce problème lors de l'écriture de code. Les frameworks et les outils s'occupent souvent d'échapper les caractères spéciaux et d'empêcher les vulnérabilités d'injection SQL.

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