Kesukaran Menggunakan Fungsi mysql_* selepas Peningkatan PHP
Pengguna yang menaik taraf kepada PHP 5.5.0 mungkin menghadapi masalah apabila cuba menggunakan fungsi mysql_*, kerana fungsi ini telah ditamatkan dalam versi ini.
Memahami Isu
Salah satu ralat biasa yang dihadapi ialah "Ditamatkan: mysql_real_escape_string()". Ini menunjukkan bahawa fungsi mysql_real_escape_string() tidak lagi disokong. Percubaan untuk menggantikannya dengan mysqli_real_escape_string() mengakibatkan ralat lain, "Amaran: mysqli_real_escape_string() menjangkakan tepat 2 parameter, 1 diberikan".
Menyelesaikan Masalah
Kepada menyelesaikan masalah ini, adalah disyorkan untuk beralih kepada menggunakan sambungan mysqli dan bukannya sambungan mysql. Ini memerlukan kemas kini pada kod PHP anda untuk menggunakan fungsi mysqli.
Kod PHP yang disemak
Berikut ialah versi semakan kod yang disediakan sebagai contoh:
<code class="php"><?php require_once("includes/session.php"); require_once("connections/connection.php"); require_once("includes/functions.php"); // ... (remainder of the PHP code) $connection = mysqli_connect("host", "my_user", "my_password", "my_db"); // ... (remainder of the PHP code) $username = mysqli_real_escape_string($connection, $username); $password = mysqli_real_escape_string($connection, $password); // ... (remainder of the PHP code) // ... (mysqli alternative not shown in detail) if (isset($connection)) { mysqli_close($connection); } ?></code>
Kesimpulan
Naik taraf kepada PHP 5.5.0 memerlukan pelarasan keserasian dalam kod PHP sedia ada. Peralihan kepada sambungan mysqli dan menggunakan fungsinya ialah penyelesaian yang berkesan untuk menyelesaikan isu yang berkaitan dengan fungsi mysql_* yang tidak digunakan lagi.
Atas ialah kandungan terperinci Mengapa Fungsi mysql_* Saya Tidak Berfungsi Selepas Menaik taraf kepada PHP 5.5.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!