2013-09-02 13 views
7

This post daje cztery sposoby odzyskiwania wynik zapytania mysqlróżnice w funkcjonowaniu mysqli_fetch

  • mysqli_fetch_array - Pobiera wiersz wyniku asocjacyjnego, tablicy numerycznej lub obu

    $row = mysqli_fetch_array($result); 
    echo $row[0]; // or 
    echo $row['online']; 
    
  • mysqli_fetch_assoc - Pobierz wiersz wyniku jako tablicę asocjacyjną

  • mysqli_fetch_object - Zwraca bieżący wiersz wyniku ustawiony jako obiekt

    $row = mysqli_fetch_object($result); 
    echo $row->online; 
    
  • mysqli_fetch_row - Zapisuje wiersz wyniku w tablicy wyliczeniowej

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

Czy istnieje istotna różnica pomiędzy te cztery funkcje, pod względem wydajności lub funkcjonalności, czy mogą być używane zamiennie?

+0

Cóż, możesz samemu porównywać wydajność używając PHP, ale ogólnie wydajność będzie prawie taka sama i być może na nieco większym poziomie feth_array. – Prix

+0

@Prix To słuszne, jeśli chodzi o testowanie porównawcze, ale oczekuję, że względna wydajność będzie różna dla różnych typów zapytań. Chciałbym również potwierdzić, że zachowują się tak samo we wszystkich sytuacjach. –

+0

Cóż, nie sądzę, by to było tak różne, ponieważ potrzebna byłaby cała biblioteka danych mysqli, jest dostępna z nazwy pól, aby utworzyć obiekt lub tablicę asocjacyjną. Potem każde kolejne zapytanie da inny wynik wydajności. – Prix

Odpowiedz

8

Czy istnieje istotna różnica między tymi czterema funkcjami

nr

mogą być używane zamiennie?

Tak.