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

Comment échapper aux apostrophes dans les instructions SQL INSERT et SELECT ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-16 11:26:58236parcourir

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

Gestion des apostrophes dans l'insertion de données SQL

L'insertion de données contenant des apostrophes directement dans une base de données SQL peut entraîner des erreurs. L'apostrophe, agissant comme délimiteur de chaîne, peut terminer prématurément la chaîne. Pour éviter cela, vous devez échapper l'apostrophe dans votre requête SQL.

Méthode correcte :

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

Remarquez comment l'apostrophe dans "O'Brien" est échappée en la doublant (''). Cela indique clairement à la base de données qu'il fait partie de la chaîne et non d'un délimiteur.

Gestion des apostrophes dans les instructions SELECT :

La même technique d'échappement s'applique aux SELECT requêtes :

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

Pourquoi s'évader ?

Le rôle de l'apostrophe en tant que limite de chaîne dans SQL nécessite un échappement. Le doubler garantit que la base de données l'interprète correctement comme des données, évitant ainsi la terminaison prématurée de la chaîne.

Échappement automatisé dans la programmation :

La manipulation directe de SQL avec des requêtes brutes nécessite un échappement manuel de l'apostrophe. Cependant, la plupart des langages de programmation et des frameworks de bases de données offrent des fonctions intégrées pour gérer automatiquement l'échappement, empêchant ainsi les vulnérabilités d'injection SQL. L'utilisation de ces fonctions est fortement recommandée.

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