Rumah > Artikel > pangkalan data > Mengapa Fungsi mysql_* Saya Dihentikan Selepas Menaik taraf 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!