Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk Mengambil Keputusan Pertanyaan MySQL dalam Jenis Data Aslinya dalam PHP?

Bagaimana untuk Mengambil Keputusan Pertanyaan MySQL dalam Jenis Data Aslinya dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 14:49:02562semak imbas

How to Fetch MySQL Query Results in Their Native Data Types in PHP?

Mengambil Keputusan Pertanyaan MySQL dalam Jenis Data Asli

Apabila menggunakan MySQL dalam PHP, mendapatkan kembali hasil pertanyaan melalui fungsi seperti mysql_fetch_row() dan mysql_result( ) biasanya menjadikan nilai berangka sebagai rentetan. Ini mungkin tidak selalunya sesuai, terutamanya jika anda perlu menggunakan data dalam format asalnya.

Dalam PHP 5.2, mengambil data dalam jenis data asalnya bukanlah mudah. Walau bagaimanapun, PHP 5.3 memperkenalkan pemacu mysqlnd, yang membawa keupayaan untuk mengembalikan jenis data asli apabila menggunakan penyata yang disediakan di sebelah pelayan. Ini bermakna lajur INT akan dikembalikan sebagai integer, bukannya rentetan.

Sebagai contoh, apabila menggunakan mysqlnd dengan pernyataan yang disediakan, kod berikut akan mengembalikan lajur id sebagai integer:

<code class="php">$stmt = $conn->prepare("SELECT id FROM table_name WHERE name = ?");
$stmt->execute(array($name));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$id = $row['id'];</code>

Jika anda tidak dapat menggunakan pernyataan yang disediakan atau sedang bekerja dengan versi PHP sebelum 5.3, anda boleh mempertimbangkan untuk menggunakan sistem pemetaan tersuai atau alat Pemetaan Perhubungan Objek (ORM) untuk menukar hasil pangkalan data kepada jenis data PHP. Walau bagaimanapun, pendekatan ini mungkin memperkenalkan pengehadan apabila menggunakan operator sensitif jenis seperti === dan !==.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Keputusan Pertanyaan MySQL dalam Jenis Data Aslinya 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