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

Làm cho mysql_fetch_assoc tự động phát hiện các kiểu dữ liệu trả về?

Tôi nghĩ rằng một chiến lược tốt ở đây là xác định kiểu dữ liệu của mỗi cột trong một bảng theo chương trình và truyền kết quả trả về cho phù hợp. Điều này sẽ cho phép bạn tương tác với cơ sở dữ liệu của mình theo cách nhất quán và đơn giản hơn trong khi vẫn cung cấp cho bạn quyền kiểm soát mà bạn cần để các biến của mình lưu trữ kiểu dữ liệu chính xác.

Một giải pháp khả thi: Bạn có thể sử dụng mysql_fetch_field () để lấy một đối tượng chứa siêu dữ liệu về cột bảng và sau đó truyền chuỗi của bạn trở lại kiểu mong muốn.

//run query and get field information about the row in the table
$meta = mysql_fetch_field($result, $i);

//get the field type of the current column
$fieldType = $meta->type

Bạn có thể tìm thấy một ví dụ đầy đủ tại đây: http:// us2 .php.net / manual / en / function.mysql-fetch-field.php

Vì PHP được gõ lỏng lẻo, bạn sẽ có thời gian tương đối dễ dàng với việc này.

Nếu bạn đang sử dụng kỹ thuật OO (hướng đối tượng), bạn có thể tạo một lớp với chức năng này trong các phương thức setter () để bạn không phải có mã trùng 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. Sử dụng SUM () mà không nhóm các kết quả

  2. Nhiều câu lệnh chèn / cập nhật bên trong trình kích hoạt?

  3. Symfony 3 - Một ngoại lệ xảy ra trong trình điều khiển:không thể tìm thấy trình điều khiển

  4. MySQL:Dữ liệu GIS không hợp lệ được cung cấp cho hàm st_geometryfromtext

  5. Truy vấn SELECT này mất 180 giây để hoàn thành