Maison >base de données >tutoriel mysql >Puis-je échanger directement toutes les fonctions « mysql_ » avec les fonctions « mysqli_ » en PHP ?
Puis-je remplacer toutes les fonctions mysql_ par mysqli_ ?
Introduction
Comme PHP 5.5 a rendu obsolète les fonctions mysql_ et les ont supprimés dans PHP 7, les développeurs doivent migrer vers des fonctions alternatives. Une question courante est de savoir si nous pouvons remplacer aveuglément toutes les fonctions mysql_ par mysqli_.
Réponse
Non, les fonctions mysql_ et mysqli_ ne sont pas équivalentes. Bien que certaines fonctions de base comme mysql_query() et mysqli_query() aient des fonctionnalités similaires, il existe des différences significatives dans la syntaxe, l'ordre des paramètres et l'approche orientée objet.
MySQLConverterTool
Heureusement, il existe un outil de conversion qui peut vous aider dans cette migration. Le MySQLConverterTool (https://github.com/philip/MySQLConverterTool) peut convertir automatiquement les appels de fonction mysql_ en leurs équivalents mysqli_, permettant ainsi aux scripts de fonctionner immédiatement.
Migration manuelle
Alternativement , la migration manuelle implique les étapes suivantes :
1. Connexion
Créez une nouvelle fonction de connexion en utilisant mysqli_connect(), en remplaçant mysql_connect(). Stockez la connexion dans une variable comme $mysqli.
2. Requête
Incluez la connexion dans vos fonctions de requête. Dans le code procédural, c'est le premier argument (par exemple, mysqli_query($mysqli, $sql)). Dans OO, utilisez la méthode de classe (par exemple, $mysqli->query($sql)).
3. Récupérer le résultat
Utilisez mysqli_fetch_assoc() (procédurale) ou $result->fetch_assoc() (OO) pour récupérer les résultats.
4. Fermer la connexion
Fermez la connexion en utilisant mysqli_close() (procédurale) ou $mysqli->close() (OO).
Conclusion
Bien que ce soit tentant pour remplacer mysql_ par mysqli_ aveuglément, il est crucial de considérer les différences et de migrer manuellement ou d'utiliser l'outil de conversion pour éviter les effets indésirables. En suivant ces étapes, vous pouvez assurer une transition réussie vers l'utilisation de mysqli_.
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!