Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

mengambil Integer dari DB menggunakan Zend Framework mengembalikan nilai sebagai string

Saya menerapkan banyak Zend_Db kode di Zend Framework.

Seperti yang telah dinyatakan orang lain, alasan mengapa Zend_Db mengembalikan string alih-alih bilangan bulat atau float asli PHP adalah ekstensi basis data PHP mengembalikan string. Dan alasannya adalah mungkin tidak ada tipe PHP asli untuk mewakili tipe database tertentu.

Misalnya, BIGINT MySQL adalah bilangan bulat bertanda 64-bit. Secara default, PHP int type terbatas pada nilai 32-bit, jadi jika Anda mengambil data dari database dan secara implisit mengonversinya menjadi int , beberapa nilai mungkin terpotong. Ada beberapa kasus serupa lainnya, untuk float dan tanggal, dll.

Menggunakan representasi string untuk semua tipe data adalah cara terbaik untuk tetap sederhana dan konsisten, aman dalam menghindari kehilangan data, dan menghindari penulisan banyak kode kasus khusus khusus vendor untuk melakukan pemetaan tipe data. Kode tambahan itu juga akan dikenakan penalti kinerja.

Jadi, jika Anda memiliki kasus tertentu di mana Anda memerlukan hasil database untuk dipetakan ke tipe data PHP asli, Anda harus mengimplementasikannya sendiri dalam kode aplikasi Anda (mis. dalam Zend_Db_Table_Row khusus kelas).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat terhubung ke mysql dari visual studio 2015

  2. Jenis ketidakcocokan Scala Spark ditemukan Unit, diperlukan rdd.RDD

  3. Bekerja dengan Acara di MySQL

  4. MySQL:tanggal sebelum 1970

  5. Menjebak Peringatan MySQL Dengan Python