mysqli_query() w PHP

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

Co to jest mysqli_query()?

mysqli_query() to funkcja PHP używana do wysyłania zapytań SQL do bazy danych MySQL za pomocą rozszerzenia MySQLi.

Najczęściej stosuje się ją do wykonywania instrukcji takich jak SELECT, INSERT, UPDATE lub DELETE.

Składnia

mysqli_query($polaczenie, $zapytanie);
  • $polaczenie — uchwyt połączenia z bazą danych,
  • $zapytanie — tekst zapytania SQL.

Przykład

$db = mysqli_connect("localhost", "root", "", "szkola");

$wynik = mysqli_query($db, "SELECT imie FROM Osoby WHERE wiek < 18");

W tym przykładzie do zmiennej $wynik trafia rezultat zapytania. Nie są to jednak od razu dane gotowe do wyświetlenia.

Jak odczytać dane z SELECT?

Dla zapytania SELECT funkcja mysqli_query() zwraca wynik, który trzeba następnie odczytać funkcją pobierającą rekordy, np.:

while ($row = mysqli_fetch_row($wynik)) {
    echo $row[0] . "<br>";
}

Co zwraca mysqli_query()?

  • dla poprawnego SELECT — obiekt wyniku lub zestaw rekordów,
  • dla poprawnego INSERT, UPDATE, DELETE — wartość true,
  • w przypadku błędu — false.

Ważne rozróżnienie

mysqli_query() wykonuje zapytanie, ale nie służy bezpośrednio do wypisywania wszystkich rekordów. Do wyświetlenia wyników zapytania SELECT potrzebna jest dodatkowa funkcja, np. mysqli_fetch_row(), mysqli_fetch_assoc() lub podobna.