Rumah >pembangunan bahagian belakang >tutorial php >Bolehkah API `mysql_` dan `mysqli_` MySQL Digunakan Bersama dalam PHP?

Bolehkah API `mysql_` dan `mysqli_` MySQL Digunakan Bersama dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-04 11:21:35382semak imbas

Can MySQL's `mysql_` and `mysqli_` APIs Be Used Together in PHP?

Bolehkah API MySQL Dicampurkan dalam PHP?

Mencampurkan API MySQL dalam PHP tidak disyorkan. PHP menyediakan dua sambungan API MySQL: mysql_ dan mysqli_. Sambungan ini berasingan dan sumbernya tidak serasi.

Kod yang anda berikan menunjukkan isu:

$con = mysqli_connect("localhost", "root" ,"" ,"mysql");

if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect";
}else{
    echo "connected";
}

mysql_close($con);
echo "Done";

Kod ini mengakibatkan ralat berikut:

Connected
Warning: mysql_close() expects parameter 1 to be resource, object given in D:\************.php on line 9
Done

Ralat ini berlaku kerana mysql_close() menjangkakan sumber MySQL sebagai input, tetapi anda menyediakan mysqli sumber.

Penyelesaian:

Untuk menyelesaikan isu ini, gunakan hanya satu sambungan API MySQL secara konsisten sepanjang kod anda. Jika anda menggunakan sambungan mysqli_, gunakan mysqli_connect() dan mysqli_close() untuk membuka dan menutup sambungan. Begitu juga, jika anda menggunakan sambungan mysql_, gunakan mysql_connect() dan mysql_close().

Menyemak Kesahan Sambungan:

Kedua-dua mysql_connecter_errno() dan mysqli_can_connect_ digunakan untuk menyemak sama ada sambungan itu sah. Jika nilai yang dikembalikan ialah 0, sambungan adalah sah. Jika tidak, terdapat ralat.

Contoh:

$con = mysqli_connect("localhost", "root" ,"" ,"mysql");

if( mysqli_connect_errno( $con ) ) {
    echo "failed to connect: " . mysqli_connect_error();
}else{
    echo "connected";
}

Atas ialah kandungan terperinci Bolehkah API `mysql_` dan `mysqli_` MySQL Digunakan Bersama dalam 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