Jak odróżnić błąd zapytania od braku wyników?

0
if(mysqli_query(...

zwraca false kiedy nie znajdzie rekordów.
Jak to odróżnić od błędnego zapytania?

0

A nie zwraca przypadkiem 0 gdy nie znajdzie rekordów i false w przypadku błędnego zapytania?
To nie jest to samo :P

0

No nie jest to samo, choć if(0) zostanie chyba uznane za false.

Protip:
false == 0, ale false !== 0 :P

0

Ja bym powiedział, że skoro wywołujemy zapytanie sami, to powinniśmy to robić tak, że zapytanie zawsze jest prawidłowe i nie będzie problemu.

2

mysqli_query nie zwraca false w przypadku zerowej liczby wyników, tylko w przypadku błędu w zapytaniu. Jeśli zapytanie wykona się poprawnie i zawiera 0 wyników, to dostaniesz obiekt mysqli_result. Przykład użycia zmieszczam poniżej:

$query = '...';

$result = mysqli_query($query);

if( $result === false )
{
    // błąd w zapytaniu
}	

if (mysqli_num_rows($result) > 0) {
    // zapytanie zwróciło co najmniej jeden rekord z bazy.
}

[Adrian]

1 użytkowników online, w tym zalogowanych: 0, gości: 1