Maison >développement back-end >tutoriel php >Pourquoi `mysqli_real_escape_string()` génère-t-il une erreur de « incompatibilité de paramètres » et comment puis-je la corriger ?
Lors de l'utilisation de la fonction mysqli_real_escape_string(), les développeurs peuvent rencontrer l'erreur : "mysqli_real_escape_string() attend exactement 2 paramètres, 1 étant donné. " Pour résoudre ce problème, nous devons comprendre l'utilisation correcte de la fonction et ses exigences en matière de paramètres.
Selon la documentation officielle, la syntaxe de mysqli_real_escape_string() est :
string mysqli_real_escape_string ( mysqli $link , string $escapestr )
Cela indique que la fonction nécessite deux paramètres :
L'extrait de code fourni tente de vérifier la version de PHP pour déterminer s'il faut utiliser mysqli_real_escape_string( ) ou mysqli_escape_string(). Cependant, cela échoue car mysqli_real_escape_string() nécessite un lien de connexion MySQLi comme premier paramètre, qui manque dans le code.
Pour corriger cette erreur, nous devons fournir les paramètres corrects à mysqli_real_escape_string(). Ceci peut être réalisé en établissant une connexion MySQLi et en passant le lien de connexion comme premier argument à la fonction.
Voici un exemple de la façon de l'utiliser correctement :
$mysqli = new mysqli('host', 'username', 'password', 'database'); if (phpversion() >= '4.3.0'){ $string = mysqli_real_escape_string($mysqli, $string); }else{ $string = mysqli_escape_string($mysqli, $string); }
Dans ce code , la variable $mysqli représente un lien de connexion MySQLi valide, qui est transmis à mysqli_real_escape_string() avec la $string à échapper. Cela devrait résoudre l'erreur et vous permettre d'utiliser mysqli_real_escape_string() comme prévu.
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!