Maison >développement back-end >tutoriel php >Utiliser phpysql-shim pour résoudre la compatibilité des fonctions `mysql_*` dans PHP 7
Depuis PHP 7, les fonctions mysql_* ont été supprimées. Les applications qui utilisent encore ces fonctions doivent être mises à jour ou rencontrer des problèmes de compatibilité. Une solution consiste à utiliser php7-mysql-shim, une bibliothèque qui fournit une couche de compatibilité permettant l'utilisation des fonctions mysql_* dans PHP 7 en les mappant à leurs équivalents mysqli_*.
php7-mysql-shim est une bibliothèque PHP conçue pour fournir un remplacement instantané des fonctions obsolètes mysql_*. Cela permet aux applications existantes de s'exécuter sur PHP 7 et les versions plus récentes sans nécessiter une réécriture complète des interactions avec la base de données.
Vous pouvez installer php7-mysql-shim via Composer, un gestionnaire de dépendances pour PHP.
Installer Composer :
Si Composer n'est pas déjà installé, vous pouvez l'installer en suivant les instructions sur getcomposer.org.
Exiger php7-mysql-shim :
Accédez au répertoire de votre projet et exécutez la commande suivante pour ajouter php7-mysql-shim à votre projet :
composer require doozie-akshay/php7-mysql-shim
require 'vendor/autoload.php';
Voici un exemple de code existant utilisant les fonctions mysql_* :
// config.php $db_host = 'localhost'; $db_user = 'root'; $db_password = ''; $db_name = 'test'; // Establish connection $connection = mysql_connect($db_host, $db_user, $db_password); if (!$connection) { die('Could not connect: ' . mysql_error()); } mysql_select_db($db_name, $connection);
// check_user.php include_once('config.php'); $query = "SELECT * FROM users WHERE username = 'example_user'"; $result = mysql_query($query, $connection); if (!$result) { die('Query failed: ' . mysql_error()); } if (mysql_num_rows($result) > 0) { echo "User exists."; } else { echo "User does not exist."; } mysql_close($connection);
Après avoir installé php7-mysql-shim, il vous suffit d'inclure le fichier de chargement automatique :
// config.php require 'vendor/autoload.php'; $db_host = 'localhost'; $db_user = 'root'; $db_password = ''; $db_name = 'test'; // Establish connection $connection = mysql_connect($db_host, $db_user, $db_password); if (!$connection) { die('Could not connect: ' . mysql_error()); } mysql_select_db($db_name, $connection);
// check_user.php include_once('config.php'); $query = "SELECT * FROM users WHERE username = 'example_user'"; $result = mysql_query($query, $connection); if (!$result) { die('Query failed: ' . mysql_error()); } if (mysql_num_rows($result) > 0) { echo "User exists."; } else { echo "User does not exist."; } mysql_close($connection);
php7-mysql-shim vise à fournir une compatibilité totale avec les fonctions mysql_*, y compris la gestion des erreurs et d'autres nuances. Assurez-vous que votre code de gestion des erreurs existant reste efficace sans modification.
php7-mysql-shim fournit une solution simple et efficace pour exécuter des applications PHP héritées qui utilisent les fonctions mysql_* sur PHP 7 et les versions plus récentes. En installant le shim et en l'incluant dans votre projet, vous pouvez éviter des réécritures importantes et garantir la compatibilité avec les versions PHP modernes, permettant une transition en douceur et une fonctionnalité continue de l'application.
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!