Ab PHP 7 wurden die mysql_*-Funktionen entfernt. Anwendungen, die diese Funktionen weiterhin nutzen, müssen aktualisiert werden oder haben Kompatibilitätsprobleme. Eine Lösung ist die Verwendung von php7-mysql-shim, einer Bibliothek, die eine Kompatibilitätsschicht bereitstellt, die die Verwendung von mysql_*-Funktionen in PHP 7 ermöglicht, indem sie sie ihren mysqli_*-Entsprechungen zuordnet.
php7-mysql-shim ist eine PHP-Bibliothek, die einen direkten Ersatz für die veralteten mysql_*-Funktionen bieten soll. Dadurch können ältere Anwendungen auf PHP 7 und neueren Versionen ausgeführt werden, ohne dass eine vollständige Neufassung der Datenbankinteraktionen erforderlich ist.
Sie können php7-mysql-shim über Composer installieren, einen Abhängigkeitsmanager für PHP.
Composer installieren:
Wenn Sie Composer noch nicht installiert haben, können Sie es installieren, indem Sie den Anweisungen auf getcomposer.org folgen.
PHP7-MySQL-Shim erforderlich:
Navigieren Sie zu Ihrem Projektverzeichnis und führen Sie den folgenden Befehl aus, um php7-mysql-shim zu Ihrem Projekt hinzuzufügen:
composer require doozie-akshay/php7-mysql-shim
require 'vendor/autoload.php';
Hier ist ein Beispiel für Legacy-Code, der mysql_*-Funktionen verwendet:
// 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);
Nach der Installation von php7-mysql-shim müssen Sie nur noch die Autoload-Datei einbinden:
// 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 zielt darauf ab, vollständige Kompatibilität mit den mysql_*-Funktionen bereitzustellen, einschließlich Fehlerbehandlung und anderen Nuancen. Stellen Sie sicher, dass Ihr vorhandener Fehlerbehandlungscode ohne Änderungen wirksam bleibt.
php7-mysql-shim bietet eine unkomplizierte und effektive Lösung für die Ausführung älterer PHP-Anwendungen, die mysql_*-Funktionen auf PHP 7 und neueren Versionen verwenden. Indem Sie den Shim installieren und in Ihr Projekt einbinden, können Sie umfangreiche Umschreibungen vermeiden und die Kompatibilität mit modernen PHP-Versionen sicherstellen, was einen reibungslosen Übergang und eine fortgesetzte Anwendungsfunktionalität ermöglicht.
Das obige ist der detaillierte Inhalt vonVerwendung von phpysql-shim zur Behebung der Funktionskompatibilität „mysql_*' in PHP 7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!