2013-09-02 40 views
7

This post cho bốn cách thu hồi các kết quả của một truy vấn MySQL:Sự khác biệt về chức năng mysqli_fetch

  • mysqli_fetch_array - Fetch liên tiếp kết quả như một kết hợp, một mảng số, hoặc cả hai

    $row = mysqli_fetch_array($result); 
    echo $row[0]; // or 
    echo $row['online']; 
    
  • mysqli_fetch_assoc - Tìm nạp hàng kết quả dưới dạng mảng kết hợp

    $row = mysqli_fetch_assoc($result); 
    echo $row['online']; 
    
  • mysqli_fetch_object - Trả lại hàng hiện tại của một kết quả thiết lập như là một đối tượng

    $row = mysqli_fetch_object($result); 
    echo $row->online; 
    
  • mysqli_fetch_row - Nhận liên tiếp kết quả như một mảng liệt kê

    $row = mysqli_fetch_row($result); 
    echo $row[0]; 
    

Có sự khác biệt đáng kể giữa bốn chức năng này, về hiệu suất hoặc chức năng, hoặc chúng có thể được sử dụng thay thế cho nhau không?

+0

Bạn cũng có thể đánh giá hiệu suất của mình bằng cách sử dụng PHP nhưng nhìn chung hiệu suất sẽ khá giống nhau và có lẽ trên feth_array lớn hơn một chút. – Prix

+0

@Prix Đó là một điểm công bằng về điểm chuẩn, nhưng tôi hy vọng hiệu suất tương đối sẽ khác nhau giữa các loại truy vấn khác nhau. Ngoài ra, tôi muốn xác nhận rằng họ thực sự hành xử giống nhau trong mọi tình huống. –

+0

Tôi không nghĩ nó sẽ khác nhiều vì tất cả thư viện mysqli dữ liệu sẽ cần, có sẵn từ tên trường để tạo mảng đối tượng hoặc mảng kết hợp. Sau đó, một lần nữa mỗi truy vấn khác nhau sẽ cung cấp cho bạn một kết quả hiệu suất khác nhau. – Prix

Trả lời

8

Có sự khác biệt đáng kể giữa những bốn chức năng

số

có thể họ được sử dụng thay thế cho nhau?

Có.

Các vấn đề liên quan