Rumah >pangkalan data >tutorial mysql >Mengapa Medan Integer MySQL Saya Dikembalikan sebagai Rentetan dalam PHP?

Mengapa Medan Integer MySQL Saya Dikembalikan sebagai Rentetan dalam PHP?

Linda Hamilton
Linda Hamiltonasal
2024-12-17 10:47:25773semak imbas

Why Is My MySQL Integer Field Returned as a String in PHP?

Medan Integer MySQL Dikembalikan sebagai Rentetan dalam PHP

Isu ini timbul apabila mendapatkan semula data daripada pangkalan data MySQL menggunakan PHP. Tanpa mengira jenis data yang ditakrifkan dalam pangkalan data, data sentiasa dikembalikan sebagai rentetan dalam PHP secara lalai. Percanggahan ini boleh membingungkan, terutamanya apabila menjangkakan medan integer berkelakuan sedemikian.

Dalam kes khusus anda, dengan ID pengguna medan pangkalan data diisytiharkan sebagai INT(11), data diambil menggunakan pertanyaan:

"SELECT userid FROM DB WHERE name='john'"

Untuk mengendalikan keputusan, anda menggunakan:

$row=$result->fetch_assoc();
$id=$row['userid'];

Namun, apabila menyemak jenis data $id menggunakan echo gettype($id);, ia mengembalikan "rentetan" dan bukannya "integer".

Penyelesaian

Untuk menyelesaikan isu ini, PHP menyediakan kaedah untuk menukar data rentetan yang diambil kembali kepada format integer. Anda boleh menggunakan kod berikut:

$id = (int) $row['userid'];

Sebagai alternatif, anda juga boleh menggunakan fungsi intval():

$id = intval($row['userid']);

Dengan melakukan penukaran ini, anda memastikan bahawa pembolehubah $id adalah dikenali dengan betul sebagai jenis data integer, membenarkan pengendalian dan operasi yang sesuai sebagai integer.

Atas ialah kandungan terperinci Mengapa Medan Integer MySQL Saya Dikembalikan sebagai Rentetan 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