Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

tìm nạp một Số nguyên từ DB bằng Zend Framework trả về giá trị dưới dạng một chuỗi

Tôi đã triển khai rất nhiều Zend_Db mã trong Zend Framework.

Như những người khác đã nêu, lý do mà Zend_Db trả về chuỗi thay vì số nguyên PHP gốc hoặc float là phần mở rộng cơ sở dữ liệu của PHP trả về chuỗi. Và lý do cho điều đó là có thể không có loại PHP gốc nào để đại diện cho một số loại cơ sở dữ liệu nhất định.

Ví dụ:BIGINT của MySQL là một số nguyên có dấu 64-bit. Theo mặc định, PHP int kiểu được giới hạn ở các giá trị 32 bit, vì vậy nếu bạn tìm nạp dữ liệu từ cơ sở dữ liệu và chuyển đổi ngầm nó thành int , một số giá trị có thể bị cắt bớt. Có một số trường hợp tương tự khác, đối với float và ngày tháng, v.v.

Sử dụng biểu diễn chuỗi cho tất cả các kiểu dữ liệu là cách tốt nhất để duy trì sự đơn giản và nhất quán, an toàn về việc tránh mất dữ liệu và tránh viết nhiều mã trường hợp đặc biệt của nhà cung cấp để thực hiện ánh xạ kiểu dữ liệu. Mã bổ sung đó cũng sẽ bị phạt hiệu suất.

Vì vậy, nếu bạn gặp các trường hợp cụ thể mà bạn cần kết quả cơ sở dữ liệu được ánh xạ tới các kiểu dữ liệu PHP gốc, bạn nên tự triển khai nó trong mã ứng dụng của mình (ví dụ:trong Zend_Db_Table_Row tùy chỉnh lớp).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. truy vấn mysql HIỂN THỊ CÁC CỘT TỪ bảng như 'colmunname':câu hỏi

  2. mysqli_stmt ::bind_result ():Số biến ràng buộc không khớp với số trường trong câu lệnh đã chuẩn bị

  3. mySQL tìm ra các trò lừa đảo và loại bỏ chúng

  4. Tính toán các điểm (vĩ độ, kinh độ) nằm trong một khoảng cách nhất định trong mysql?

  5. Boolean vs tinyint (1) cho các giá trị boolean trong MySQL