Maison > Article > base de données > Pourquoi les fonctions mysql_* ne fonctionnent-elles pas après la mise à niveau de PHP vers 5.5.0 ?
Mise à niveau PHP : impossible d'utiliser les fonctions mysql_*
Après la mise à niveau vers PHP 5.5.0 à partir d'une version précédente telle que PHP 5.2.0 , les développeurs peuvent rencontrer des problèmes avec les fonctions mysql_* obsolètes. Une erreur courante rencontrée est :
Deprecated: mysql_real_escape_string()
Pour résoudre ce problème, il est recommandé de remplacer les fonctions obsolètes mysql_ par leurs homologues mysqli_. Par exemple, mysqli_real_escape_string() doit être utilisé à la place de mysql_real_escape_string().
Cependant, il est important de noter que mysqli_real_escape_string() nécessite deux paramètres : une variable de connexion et la chaîne d'échappement. Lorsque vous tentez d'utiliser mysqli_real_escape_string() avec un seul argument, l'erreur suivante peut être rencontrée :
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in
Pour corriger cette erreur, la variable de connexion doit être passée comme premier argument. Cette variable est obtenue en établissant une connexion à la base de données à l'aide de mysqli_connect() :
<code class="php">$connection = mysqli_connect("host", "username", "password", "database");</code>
L'exemple de code fourni peut être révisé pour utiliser correctement mysqli_real_escape_string() :
<code class="php">$username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password);</code>
Il est Il est essentiel de mettre régulièrement à jour ses connaissances PHP pour rester au courant des dernières meilleures pratiques et éviter de telles erreurs. Vous pouvez également envisager d'utiliser un objet de base de données pour vous connecter à la base de données et gérer l'échappement automatiquement.
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!