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

mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object

mysql_fetch_array sẽ giúp bạn có được một mảng có thể có làm khóa:

  • cả số và tên của cột, nếu sử dụng MYSQL_BOTH
  • tên cột, sử dụng MYSQL_ASSOC - trong trường hợp này, bạn sẽ nhận được điều tương tự khi sử dụng mysql_fetch_assoc
  • chỉ các số (tùy thuộc vào thứ tự của các cột trong truy vấn), nếu sử dụng MYSQL_NUM

Lấy kết quả được lập chỉ mục theo tên cột có lẽ là giải pháp hữu ích nhất - ít nhất là dễ sử dụng hơn.

Nhưng nhận được kết quả được lập chỉ mục theo vị trí của các trường trong mệnh đề select là điều thú vị trong một tình huống:khi bạn có một số cột có cùng tên hoặc bí danh.
Trong trường hợp này, bạn không thể có hai mục nhập giống nhau chỉ mục trong một mảng, bạn sẽ chỉ có thể truy cập một trong các cột đó bằng cách sử dụng tên cột làm chỉ mục.
Đối với các cột khác có cùng tên, bạn sẽ phải sử dụng chỉ mục số.

Tình huống đó có lẽ là trường hợp duy nhất mà tôi sẽ sử dụng mysql_fetch_array - và tôi thích sử dụng bí danh hơn trong truy vấn của mình, để tránh tình huống đó - theo ý kiến ​​của tôi thì rõ ràng hơn.


mysql_fetch_assoc sẽ giúp bạn nhận được một mảng, với tên cột là khóa và dữ liệu là giá trị.

Thực ra thì không có nhiều điều để nói.


mysql_fetch_object đổi lại bạn sẽ nhận được các tài liệu phản đối.


Lựa chọn giữa mysql_fetch_assocmysql_fetch_object hầu hết có lẽ phụ thuộc vào cách bạn phát triển ứng dụng của mình:nếu sử dụng các đối tượng ở mọi nơi, thì đối tượng thứ hai có lẽ là phù hợp nhất.

Nếu sử dụng mảng làm vùng chứa dữ liệu, bạn chỉ có thể sử dụng mảng đầu tiên.



  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 bộ nhớ tối đa MySQL

  2. Hàm MySQL SIGN () - Tìm hiểu xem một số là dương hay âm trong MySQL

  3. thủ tục được lưu trữ mysql tự gọi đệ quy

  4. Ẩn ID đối tượng cơ sở dữ liệu thực trong url

  5. Buộc InnoDB kiểm tra lại các khóa ngoại trên một bảng / bảng?