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
Lepaskan: 2024-12-17 10:47:25
asal
704 orang telah melayarinya

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'"
Salin selepas log masuk

Untuk mengendalikan keputusan, anda menggunakan:

$row=$result->fetch_assoc();
$id=$row['userid'];
Salin selepas log masuk

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'];
Salin selepas log masuk

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

$id = intval($row['userid']);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan