Gestion des erreurs après la mise à niveau de PHP : fonctions mysql_* obsolètes
Comme vous l'avez découvert lors de la mise à niveau de PHP 5.2 vers 5.5, plusieurs de vos Les extraits de code PHP rencontrent des erreurs liées aux fonctions mysql_* obsolètes ou obsolètes. Explorons ces problèmes et proposons des solutions.
Fonction mysql_real_escape_string() obsolète
La fonction mysql_real_escape_string() est utilisée pour se protéger contre les attaques par injection SQL. Cependant, il a été obsolète dans les versions plus récentes de PHP au profit d'une alternative plus sécurisée.
Solution : Remplacez mysql_real_escape_string() par mysqli_real_escape_string() pour garantir une fiabilité continue.
Nombre d'arguments incorrect pour mysqli_real_escape_string()
La fonction mysqli_real_escape_string() nécessite deux arguments : la ressource de connexion et la chaîne à échapper. Dans votre exemple, vous ne fournissez qu'un seul argument.
Solution : Établissez une connexion à la base de données et transmettez la ressource de connexion à mysqli_real_escape_string() comme premier argument. La syntaxe pour établir une connexion ressemble à ceci :
<code class="php">$connection = mysqli_connect("host", "my_user", "my_password", "my_db");</code>
Option alternative : objets de base de données
Au lieu de transmettre manuellement la ressource de connexion à chaque fois, vous pouvez utiliser un objet de base de données pour simplifier le processus. Cette approche implique de configurer un objet de base de données comme suit :
<code class="php">$mysqli = new mysqli("host", "my_user", "my_password", "my_db");</code>
Une fois que vous avez créé l'objet de base de données, vous pouvez utiliser ses fonctions intégrées pour effectuer des opérations de base de données sans transmettre explicitement la ressource de connexion. Par exemple :
<code class="php">$result = $mysqli->query("SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1");</code>
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!