Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Membetulkan Ralat 'Fungsi mysql_* yang ditamatkan' Selepas Menaik taraf PHP?

Bagaimana untuk Membetulkan Ralat 'Fungsi mysql_* yang ditamatkan' Selepas Menaik taraf PHP?

Barbara Streisand
Lepaskan: 2024-11-09 10:25:02
asal
936 orang telah melayarinya

How to Fix

Pengendalian Ralat Selepas Peningkatan PHP: Fungsi mysql_* yang lapuk

Seperti yang anda temui semasa menaik taraf daripada PHP 5.2 kepada 5.5, beberapa daripada anda Coretan kod PHP menghadapi ralat yang berkaitan dengan mysql_* yang usang atau lapuk fungsi. Mari kita terokai isu ini dan sediakan penyelesaian.

Fungsi mysql_real_escape_string() yang ditamatkan

Fungsi mysql_real_escape_string() digunakan untuk melindungi daripada serangan suntikan SQL. Walau bagaimanapun, ia telah ditamatkan dalam versi PHP yang lebih baharu dan memihak kepada alternatif yang lebih selamat.

Penyelesaian: Gantikan mysql_real_escape_string() dengan mysqli_real_escape_string() untuk memastikan kebolehpercayaan berterusan.

Bilangan Hujah yang Salah untuk mysqli_real_escape_string()

Fungsi mysqli_real_escape_string() memerlukan dua argumen: sumber sambungan dan rentetan untuk dilepaskan. Dalam contoh anda, anda hanya menyediakan satu hujah.

Penyelesaian: Wujudkan sambungan ke pangkalan data dan hantar sumber sambungan ke mysqli_real_escape_string() sebagai argumen pertama. Sintaks untuk mewujudkan sambungan kelihatan seperti ini:

<code class="php">$connection = mysqli_connect("host", "my_user", "my_password", "my_db");</code>
Salin selepas log masuk

Pilihan Alternatif: Objek Pangkalan Data

Daripada menghantar secara manual sumber sambungan setiap kali, anda boleh menggunakan objek pangkalan data untuk memudahkan proses. Pendekatan ini melibatkan penyediaan objek pangkalan data seperti berikut:

<code class="php">$mysqli = new mysqli("host", "my_user", "my_password", "my_db");</code>
Salin selepas log masuk

Setelah anda mencipta objek pangkalan data, anda boleh menggunakan fungsi terbina dalamnya untuk melaksanakan operasi pangkalan data tanpa menghantar sumber sambungan secara eksplisit. Contohnya:

<code class="php">$result = $mysqli->query("SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1");</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Fungsi mysql_* yang ditamatkan' Selepas Menaik taraf PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan