Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Perlu Mengelakkan Mencampurkan API `mysql_` dan `mysqli_` dalam PHP?

Mengapa Saya Perlu Mengelakkan Mencampurkan API `mysql_` dan `mysqli_` dalam PHP?

Susan Sarandon
Lepaskan: 2024-12-26 04:38:11
asal
299 orang telah melayarinya

Why Should I Avoid Mixing `mysql_` and `mysqli_` APIs in PHP?

Mencampurkan API MySQL dalam PHP

API MySQL PHP menyediakan dua antara muka untuk berinteraksi dengan pangkalan data MySQL: mysql_ dan mysqli_. Walaupun kelihatan mudah untuk mencampurkan API ini, amalan ini tidak digalakkan sama sekali.

Tidak Boleh Mencampur API

Pada asasnya, mysql_ dan mysqli_ adalah API berasingan dengan seni bina yang berbeza dan tidak serasi jenis sumber. Oleh itu, anda tidak boleh menggunakan fungsi daripada satu API pada sumber yang dicipta oleh yang lain.

Contoh Ralat

Kod contoh yang disediakan menunjukkan isu apabila cuba mencampurkan kedua-duanya API:

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

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

mysqli_close($con);  // Error: Incompatible resource type
Salin selepas log masuk

Kod ini cuba menggunakan mysqli_connect_errno() pada sumber yang dicipta oleh mysql_connect(), mengakibatkan ketidakpadanan.

Menyemak Kesahan Sambungan

Untuk menyemak sama ada sambungan sah, gunakan fungsi pelaporan ralat API yang sepadan:

  • mysql_: mysqli_connect_error() atau mysqli_connect_errno()
  • mysqli_: mysqli_error() atau mysqli_errno()

Kesimpulan

Kesimpulan

Adalah penting untuk mematuhi API sempadan apabila bekerja dengan antara muka MySQL yang berbeza. Menggunakan fungsi atau sumber yang tidak serasi boleh membawa kepada ralat dan tingkah laku yang tidak dapat diramalkan.

Atas ialah kandungan terperinci Mengapa Saya Perlu Mengelakkan Mencampurkan API `mysql_` dan `mysqli_` dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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