Maison >base de données >tutoriel mysql >Comment gérer les apostrophes dans les instructions SQL INSERT et SELECT ?
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!