Maison > développement back-end > tutoriel php > Pourquoi l'échappement des guillemets simples en PHP n'affecte-t-il parfois que les insertions MySQL ?

Pourquoi l'échappement des guillemets simples en PHP n'affecte-t-il parfois que les insertions MySQL ?

Patricia Arquette
Libérer: 2024-11-03 11:55:29
original
808 Les gens l'ont consulté

Why Does Escaping Single Quotes in PHP Only Affect MySQL Inserts Sometimes?

Échapper aux guillemets simples en PHP lors de l'insertion dans MySQL

Cet article aborde le problème de l'échappement des guillemets simples en PHP lors de l'insertion de données dans MySQL.

Le code fourni montre deux instructions SQL : une pour insérer des données de formulaire dans une base de données et l'autre pour récupérer des données, envoyer un e-mail et enregistrer les détails de la transaction. L'erreur se produit lorsqu'un guillemet simple est présent dans la deuxième instruction, mais pas dans la première.

La différence de comportement provient de la possibilité d'activer magic_quotes_gpc. Cette fonctionnalité échappe aux chaînes de $_GET, $_POST et $_COOKIES. Lorsque les données sont stockées et récupérées à nouveau, il se peut qu'elles ne soient pas échappées automatiquement.

Pour résoudre ce problème, vous devez échapper chaque chaîne dans les deux extraits à l'aide de mysql_real_escape_string().

Exemple with mysql_real_escape_string() :

<code class="php">$order_id = mysql_real_escape_string($order_id);
$supplier_id = mysql_real_escape_string($supplier_id);
...</code>
Copier après la connexion

L'échappement des chaînes avant leur insertion dans MySQL garantit que les guillemets simples et autres caractères potentiellement problématiques sont traités correctement, empêchant ainsi les vulnérabilités d'injection SQL et l'exécution incohérente des requêtes.

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