mysqli_query() w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

mysqli_query() w PHP

mysqli_query() to funkcja PHP służąca do wykonania zapytania SQL na połączeniu z bazą danych MySQL/MariaDB. Jest częścią rozszerzenia mysqli.

Składnia

mysqli_query(mysqli $polaczenie, string $zapytanie): mysqli_result|bool

Najczęściej używa się jej w postaci:

$wynik = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");

Pierwszy argument to uchwyt połączenia z bazą, np. $db, a drugi to tekst zapytania SQL.

Co zwraca mysqli_query()?

Zależy to od rodzaju zapytania:

  • dla SELECT, SHOW, DESCRIBE zwraca obiekt wyniku mysqli_result,
  • dla INSERT, UPDATE, DELETE zwraca true albo false,
  • w przypadku błędu zwraca false.

Przykład użycia z SELECT

$zapytanie = mysqli_query($db, "SELECT imie, nazwisko FROM uzytkownik");

while ($wiersz = mysqli_fetch_row($zapytanie)) {
    echo $wiersz[0] . " " . $wiersz[1] . "<br>";
}

W tym przykładzie mysqli_query() wykonuje zapytanie, a mysqli_fetch_row() pobiera kolejne wiersze wyniku jako tablice indeksowane numerycznie.

Typowy błąd na egzaminie

Nie należy mylić mysqli_query() z funkcjami odczytującymi dane z wyniku. mysqli_query() tylko wykonuje zapytanie. Do pobierania rekordów z wyniku SELECT używa się np. mysqli_fetch_row(), mysqli_fetch_assoc() albo mysqli_fetch_array().