Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Memastikan Integer MySQL dan Lajur Berangka Kembali sebagai Jenis Data yang Betul dalam PHP?

Bagaimanakah Saya Boleh Memastikan Integer MySQL dan Lajur Berangka Kembali sebagai Jenis Data yang Betul dalam PHP?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-05 19:56:19756semak imbas

How Can I Ensure MySQL Integer and Numeric Columns Return as the Correct Data Type in PHP?

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:

  • Jenis titik terapung (FLOAT, DOUBLE) akan kembali sebagai PHP terapung.
  • Jenis integer (INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINT) akan kembali sebagai Integer PHP.
  • Jenis Titik Tetap (PERPULUHAN, NUMERIC) akan kembali sebagai rentetan.
  • BIGINT dengan nilai lebih besar daripada 9223372036854775807 (pada sistem 64-bit)

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!

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