Rumah  >  Artikel  >  pangkalan data  >  Mengapa Fungsi mysql_* Saya Dihentikan Selepas Menaik taraf PHP?

Mengapa Fungsi mysql_* Saya Dihentikan Selepas Menaik taraf PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-05 13:33:02616semak imbas

Why Are My mysql_* Functions Deprecated After Upgrading PHP?

Fungsi mysql_* yang ditamatkan Selepas Peningkatan PHP: Resolusi

Selepas menaik taraf daripada PHP 5.2.0 kepada 5.5.0, isu mungkin timbul apabila mencuba untuk menggunakan fungsi mysql_*. Ini disebabkan oleh penamatan fungsi ini.

Ralat Ditemui: Dihentikan mysql_real_escape_string()

Untuk menyelesaikan masalah ini, gantikan mysql_real_escape_string() dengan rakan sejawatannya yang dimodenkan: mysq_string_string ).

Ralat Ditemui: mysqli_real_escape_string() Menjangkakan 2 Parameter

Apabila menggunakan mysqli_real_escape_string(), ia memerlukan dua argumen: pembolehubah sambungan dan rentetan untuk dilepaskan.

Contoh Kod dengan Pengubahsuaian:

<?php
$connection = mysqli_connect("host", "my_user", "my_password", "my_db");
$username = mysqli_real_escape_string($connection, $username);
$password = mysqli_real_escape_string($connection, $password);

$query = "SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1";

Pertimbangkan Menggunakan Pendekatan Berorientasikan Objek

Untuk meningkatkan kebolehselenggaraan, pertimbangkan menggunakan kelas objek pangkalan data, yang merangkum butiran sambungan:

<?php
class Database {
    private $connection;

    public function __construct($host, $user, $password, $database) {
        $this->connection = mysqli_connect($host, $user, $password, $database);
    }

    public function escape($string) {
        return mysqli_real_escape_string($this->connection, $string);
    }

    // Other database operations...
}

Kesimpulan:

Dengan mengikuti garis panduan ini, pembangun boleh berjaya menyelesaikan isu penamatan yang dihadapi dengan mysql_ * berfungsi selepas menaik taraf PHP.

Atas ialah kandungan terperinci Mengapa Fungsi mysql_* Saya Dihentikan Selepas Menaik taraf PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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