Mengembalikan Integer dan Angka daripada MySQL sebagai Integer dan Angka dalam PHP
Banyak pembangun menghadapi isu pertanyaan MySQL yang mengembalikan lajur integer dan angka sebagai rentetan dalam PHP. Ini disebabkan oleh tingkah laku lalai pemacu MySQL asli, yang tidak menyokong jenis angka yang dikembalikan.
Penyelesaian: Menggunakan Pemacu mysqlnd
Penyelesaiannya ialah untuk menggunakan pemacu mysqlnd untuk PHP. Pemacu mysqlnd ialah pemacu yang lebih moden dan kaya dengan ciri yang menyediakan keupayaan untuk mengembalikan lajur angka sebagai integer dan angka.
Mengenal pasti jika Anda Menggunakan mysqlnd
Untuk menyemak sama ada anda menggunakan pemacu mysqlnd, buka halaman Maklumat PHP (php -i) dan lihat di bawah "Pemacu PDO untuk bahagian MySQL". Jika ia menyebut "mysqlnd" di sana, maka anda menggunakan pemacu mysqlnd. Jika tidak, anda berkemungkinan besar menggunakan pemacu MySQL asli.
Memasang mysqlnd pada Ubuntu
Untuk memasang pemacu mysqlnd pada Ubuntu, anda boleh menggunakan arahan:
sudo apt-get install php5-mysqlnd
Memulakan semula Apache
Selepas memasang pemacu mysqlnd, anda perlu memulakan semula Apache agar perubahan berkuat kuasa.
Sahkan Pemacu
Setelah Apache dimulakan semula, anda boleh menyemak semula sama ada pemacu mysqlnd sedang digunakan dengan membuka halaman Maklumat PHP (php -i). Ia sepatutnya menyebut "mysqlnd" secara jelas dalam bahagian "Pemacu PDO untuk MySQL".
Tetapan PDO
Pastikan anda mempunyai tetapan PDO berikut ditetapkan kepada palsu kepada mencegah isu yang mungkin timbul:
$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); $pdo->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, false);
Dikembalikan Nilai
Bergantung pada jenis pangkalan data, jenis data yang berbeza akan dikembalikan seperti berikut:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Integer MySQL dan Lajur Berangka Kembali sebagai Jenis Data yang Betul dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!