Pencapaian Medan Integer MySQL dalam PHP
Apabila mendapatkan semula data integer daripada pangkalan data MySQL ke dalam PHP, ia boleh mengejutkan untuk mendapati bahawa yang dikembalikan nilai ialah rentetan sebaliknya. Artikel ini menangani isu ini dan menyediakan penyelesaian.
Masalah:
Pertimbangkan jadual MySQL dengan medan:
userid INT(11)
Mengambil medan ini dengan pertanyaan berikut:
SELECT userid FROM DB WHERE name='john'
dan memproses hasilnya sebagai:
$row=$result->fetch_assoc(); $id=$row['userid']; echo gettype($id); // Outputs: string
mendedahkan bahawa nilai $id ialah rentetan, bukan integer.
Penyelesaian:
Jenis data MySQL ialah sentiasa ditukar kepada rentetan apabila diambil menggunakan PHP. Untuk menukar rentetan kembali kepada integer, gunakan salah satu kaedah berikut:
$id = (int) $row['userid']; // Explicit typecasting $id = intval($row['userid']); // Using the intval() function
Dengan menggunakan salah satu kaedah ini, anda boleh memastikan bahawa nilai integer anda ditafsir dan diproses dengan betul dalam skrip PHP anda.
Atas ialah kandungan terperinci Mengapa Medan Integer MySQL Diambil sebagai Rentetan dalam PHP, dan Bagaimana Saya Boleh Membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!