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,DESCRIBEzwraca obiekt wynikumysqli_result, - dla
INSERT,UPDATE,DELETEzwracatruealbofalse, - 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().