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 :
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); }
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!