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

while ($ row =mysql_fetch_array ($ result)) - có bao nhiêu vòng lặp đang được thực hiện?

Không. mysql_fetch_array chỉ trả về hàng tiếp theo của kết quả và tăng con trỏ bên trong. Nó không lặp lại. (Bên trong nó có thể có hoặc không sử dụng một số vòng lặp ở đâu đó, nhưng điều đó không liên quan.)

while ($row = mysql_fetch_array($result)) {
   ...
}

Điều này thực hiện như sau:

  1. mysql_fetch_array truy xuất và trả về hàng tiếp theo
  2. hàng được chỉ định cho $row
  3. biểu thức được đánh giá và nếu nó được đánh giá là true , nội dung của vòng lặp được thực thi
  4. quy trình bắt đầu lại

Điều này thực hiện như sau:

  1. mysql_fetch_array truy xuất và trả về hàng tiếp theo
  2. hàng được chỉ định cho $row
  3. foreach lặp lại nội dung của mảng và thực thi nội dung của vòng lặp nhiều lần khi có các mục trong mảng

Trong cả hai trường hợp mysql_fetch_array làm chính xác những điều tương tự. Bạn chỉ có bao nhiêu vòng lặp như bạn viết. Mặc dù vậy, cả hai cấu trúc không làm cùng một điều. Điều thứ hai sẽ chỉ hành động trên một hàng của kết quả, trong khi điều thứ nhất sẽ lặp lại trên tất cả các hàng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhóm SQL theo ngày, nhưng cũng nhận được các bản ghi ngày tháng

  2. Đặt tùy chọn mặc định trong menu thả xuống php và giữ lại khi truy vấn được gửi

  3. Không thể chọn vị trí ip =inet_pton ($ ip)

  4. Cách chuyển đổi UTC sang Giờ địa phương trong MySQL

  5. Xử lý dữ liệu rất lớn với mysql