Maison > développement back-end > tutoriel php > Pourquoi `mysqli_real_escape_string()` lance-t-il « attend exactement 2 paramètres, 1 étant donné » ?

Pourquoi `mysqli_real_escape_string()` lance-t-il « attend exactement 2 paramètres, 1 étant donné » ?

Susan Sarandon
Libérer: 2024-12-04 14:50:10
original
441 Les gens l'ont consulté

Why Does `mysqli_real_escape_string()` Throw

Résolution de l'erreur "mysqli_real_escape_string() attend exactement 2 paramètres, 1 donné"

La fonction "mysqli_real_escape_string()" est conçue pour échapper aux caractères spéciaux dans une chaîne afin d'éviter Attaques par injection SQL. Cependant, il a une exigence de paramètre spécifique qui peut provoquer l'erreur "mysqli_real_escape_string() attend exactement 2 paramètres, 1 donné."

Analyse du problème :

Le code fourni vérifie la version PHP et tente d'utiliser "mysqli_real_escape_string()" en conséquence. Cependant, l'appel de fonction n'inclut que la chaîne à échapper, il manque le premier paramètre requis : le lien mysqli.

Explication de la documentation :

Selon la documentation officielle, "mysqli_real_escape_string()" nécessite deux paramètres :

  1. mysqli $link : Une référence à une connexion MySQLi établie.
  2. string $escapestr : La chaîne à échapper.

Solution :

Pour résoudre l'erreur, le code doit inclure les deux paramètres lors de l'appel du Fonction "mysqli_real_escape_string()". Voici une version mise à jour :

if (phpversion() >= '4.3.0') {
    $string = mysqli_real_escape_string($link, $string);
} else {
    $string = mysqli_escape_string($link, $string);
}
Copier après la connexion

En s'assurant que le lien mysqli est fourni comme premier paramètre, la fonction "mysqli_real_escape_string()" échappera correctement à la chaîne d'entrée et empêchera 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