Maison > développement back-end > tutoriel php > 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

WBOY
Libérer: 2024-08-05 22:10:42
original
1085 Les gens l'ont consulté

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 héritées 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
Copier après la connexion
  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';
Copier après la connexion

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);
Copier après la connexion
// 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);
Copier après la connexion
Copier après la connexion

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);
Copier après la connexion
// 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);
Copier après la connexion
Copier après la connexion

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.

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal