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
Libérer: 2025-01-16 11:11:58
original
338 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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

<code class="language-sql">SELECT First, Last FROM Person WHERE Last = 'O''Brien'</code>
Copier après la connexion

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!

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