Maison > base de données > tutoriel mysql > le corps du texte

Comment échapper aux apostrophes lors de l'insertion de données dans une requête SQL INSERT ?

Mary-Kate Olsen
Libérer: 2024-10-24 03:39:31
original
589 Les gens l'ont consulté

How to Escape Apostrophes When Inserting Data in an SQL INSERT Query?

IssueInsertingDataWithApostrophesError

Les tentatives d'insertion de données contenant des apostrophes (guillemets simples) à l'aide d'une requête SQL INSERT échouent, déclenchant une erreur de syntaxe SQL en raison de gestion des caractères spéciaux dans MySQL.

Solution

Pour résoudre ce problème, échappez aux apostrophes avec des barres obliques inverses dans les données insérées. La barre oblique inverse agit comme un caractère d'échappement dans SQL, indiquant que le caractère suivant doit être traité littéralement. En échappant aux apostrophes, vous demandez à MySQL de les interpréter comme faisant partie de la valeur des données plutôt que comme des caractères spéciaux qui terminent la chaîne.

Par exemple, au lieu d'utiliser :

INSERT INTO table_name (column_name) VALUES ('Kellog's');
Copier après la connexion

Utilisez :

INSERT INTO table_name (column_name) VALUES ('Kellogg\'s');
Copier après la connexion

Cela indique à MySQL d'insérer la chaîne entière « Kellogg's » comme valeur de la colonne « nom_colonne ».

Considérations supplémentaires

  • Utilisation d'une fonction d'échappement : Certains langages de programmation fournissent des fonctions spécifiquement conçues pour échapper des caractères spéciaux. En PHP, par exemple, vous pouvez utiliser la fonction mysql_real_escape_string() pour échapper automatiquement les apostrophes et autres caractères spéciaux dans les valeurs de données avant de les insérer dans les requêtes SQL.
  • Éviter l'échappement manuel : Tandis que manuellement L'échappement des apostrophes peut fonctionner dans certains cas, il est généralement considéré comme une bonne pratique d'utiliser une fonction d'échappement ou un système de requête paramétré pour empêcher les attaques par 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
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!