Mengambil Keputusan Pertanyaan MySQL sebagai Jenis Data Asli
MySQL sering mengambil hasil pertanyaan sebagai rentetan, walaupun data asas dalam pangkalan data disimpan sebagai jenis angka atau bukan rentetan lain. Ini boleh menimbulkan cabaran apabila bekerja dengan nilai berangka dalam aplikasi PHP.
Untuk mengatasi isu ini, pertimbangkan pendekatan berikut:
1. PHP 5.3 dan Pemacu Asli MySQL (mysqlnd)
Dalam PHP 5.3 dan ke atas, Pemacu Asli MySQL (mysqlnd) menyokong mendapatkan semula data dalam jenis data asalnya apabila menggunakan penyata yang disediakan di sebelah pelayan. Ini bermakna lajur integer akan dikembalikan sebagai integer, bukan rentetan. Walau bagaimanapun, fungsi ini terhad kepada kenyataan yang disediakan.
2. PHP >= 5.3 dan mysqlnd dengan Fungsi PHP
Versi terbaru mysqlnd telah memperluaskan keupayaan untuk mendapatkan semula jenis data asli melebihi pernyataan yang disediakan. Walau bagaimanapun, ciri ini mungkin tidak tersedia dalam semua versi PHP dan mysqlnd. Untuk menyemak sama ada persekitaran anda menyokong ciri ini, cuba gunakan fungsi seperti mysqli_fetch_array() dengan bendera MYSQLI_NUM untuk mendapatkan semula hasil sebagai tatasusunan angka.
3. Sistem Pemetaan PHP
Jika kaedah di atas tidak dapat dilaksanakan, pertimbangkan untuk melaksanakan sistem pemetaan di sebelah PHP untuk menukar hasil daripada pangkalan data kepada jenis data PHP. Ini boleh dicapai menggunakan perpustakaan Pemetaan Perhubungan Objek (ORM) atau fungsi PHP tersuai. Walau bagaimanapun, pendekatan ini mungkin memperkenalkan isu overhed prestasi dan keserasian.
Pertimbangan:
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Keputusan Pertanyaan MySQL sebagai Jenis Data Asli dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!