"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Utiliser phpysql-shim pour résoudre la compatibilité des fonctions `mysql_*` dans PHP 7

Utiliser phpysql-shim pour résoudre la compatibilité des fonctions `mysql_*` dans PHP 7

Publié le 2024-08-07
Parcourir:685

Using phpysql-shim to Address `mysql_*` Function Compatibility in PHP 7

Introduction

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_*.

Qu'est-ce que php7-mysql-shim ?

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.

Avantages de l'utilisation de php7-mysql-shim

  1. Transition transparente : Permet aux applications existantes de s'exécuter sur des versions PHP modernes sans refactorisation approfondie.
  2. Modifications minimes : Nécessite uniquement l'inclusion de la bibliothèque shim, laissant la base de code existante largement intacte.
  3. Rentable : Permet d'économiser du temps et des ressources qui seraient autrement consacrées à la réécriture du code pour utiliser MySQLi ou PDO.

Installation

Vous pouvez installer php7-mysql-shim via Composer, un gestionnaire de dépendances pour PHP.

Installation étape par étape

  1. Installer Composer :
    Si Composer n'est pas déjà installé, vous pouvez l'installer en suivant les instructions sur getcomposer.org.

  2. 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
  1. Incluez la cale dans votre code : Ajoutez la ligne suivante au début de vos scripts PHP, idéalement dans un fichier de configuration inclus dans tous vos scripts :
   require 'vendor/autoload.php';

Exemple d'utilisation

Code original utilisant les fonctions mysql_*

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);

Code modifié avec php7-mysql-shim

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);

La gestion des erreurs

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.

Conclusion

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.

Déclaration de sortie Cet article est reproduit sur : https://dev.to/doozieakshay/using-php7-mysql-shim-to-address-mysql-function-compatibility-in-php-7-pi8?1 En cas de violation, veuillez contacter study_golang@163 .comdelete
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3