Menggunakan phpysql-shim untuk Menangani Keserasian Fungsi `mysql_*` dalam PHP 7

WBOY
Lepaskan: 2024-08-05 22:10:42
asal
1055 orang telah melayarinya

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

pengenalan

Setakat PHP 7, fungsi mysql_* telah dialih keluar. Aplikasi yang masih menggunakan fungsi ini perlu dikemas kini atau menghadapi masalah keserasian. Satu penyelesaian ialah menggunakan php7-mysql-shim, perpustakaan yang menyediakan lapisan keserasian yang membenarkan penggunaan fungsi mysql_* dalam PHP 7 dengan memetakannya kepada mysqli_* yang setara.

Apakah php7-mysql-shim?

php7-mysql-shim ialah pustaka PHP yang direka untuk menyediakan penggantian drop-in untuk fungsi mysql_* yang tidak digunakan lagi. Ini membolehkan aplikasi legasi dijalankan pada PHP 7 dan versi yang lebih baharu tanpa memerlukan penulisan semula lengkap interaksi pangkalan data.

Faedah Menggunakan php7-mysql-shim

  1. Peralihan Lancar: Membenarkan aplikasi lama dijalankan pada versi PHP moden tanpa pemfaktoran semula yang meluas.
  2. Perubahan Minimum: Memerlukan kemasukan perpustakaan shim sahaja, menjadikan pangkalan kod sedia ada sebahagian besarnya tidak disentuh.
  3. Kos-Efektif: Menjimatkan masa dan sumber yang sebaliknya akan dibelanjakan untuk menulis semula kod untuk menggunakan mysqli atau PDO.

Pemasangan

Anda boleh memasang php7-mysql-shim melalui Composer, pengurus pergantungan untuk PHP.

Pemasangan Langkah demi Langkah

  1. Pasang Komposer:
    Jika anda belum memasang Komposer, anda boleh memasangnya dengan mengikut arahan di getcomposer.org.

  2. Memerlukan php7-mysql-shim:
    Navigasi ke direktori projek anda dan jalankan arahan berikut untuk menambah php7-mysql-shim pada projek anda:

   composer require doozie-akshay/php7-mysql-shim
Salin selepas log masuk
  1. Sertakan Shim dalam Kod Anda: Tambahkan baris berikut pada permulaan skrip PHP anda, sebaik-baiknya dalam fail konfigurasi yang disertakan dalam semua skrip anda:
   require 'vendor/autoload.php';
Salin selepas log masuk

Contoh Penggunaan

Kod Asal Menggunakan Fungsi mysql_*

Berikut ialah contoh kod warisan menggunakan fungsi 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);
Salin selepas log masuk
// 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);
Salin selepas log masuk
Salin selepas log masuk

Kod yang diubah suai dengan php7-mysql-shim

Selepas memasang php7-mysql-shim, anda hanya perlu memasukkan fail autoload:

// 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);
Salin selepas log masuk
// 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);
Salin selepas log masuk
Salin selepas log masuk

Pengendalian Ralat

php7-mysql-shim bertujuan untuk menyediakan keserasian penuh dengan fungsi mysql_*, termasuk pengendalian ralat dan nuansa lain. Pastikan kod pengendalian ralat sedia ada anda kekal berkesan tanpa pengubahsuaian.

Kesimpulan

php7-mysql-shim menyediakan penyelesaian yang mudah dan berkesan untuk menjalankan aplikasi PHP legasi yang menggunakan fungsi mysql_* pada PHP 7 dan versi yang lebih baharu. Dengan memasang shim dan memasukkannya ke dalam projek anda, anda boleh mengelakkan penulisan semula yang meluas dan memastikan keserasian dengan versi PHP moden, membolehkan peralihan yang lancar dan kefungsian aplikasi yang berterusan.

Atas ialah kandungan terperinci Menggunakan phpysql-shim untuk Menangani Keserasian Fungsi `mysql_*` dalam PHP 7. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!