if(mysqli_query(...
zwraca false kiedy nie znajdzie rekordów.
Jak to odróżnić od błędnego zapytania?
if(mysqli_query(...
zwraca false kiedy nie znajdzie rekordów.
Jak to odróżnić od błędnego zapytania?
A nie zwraca przypadkiem 0
gdy nie znajdzie rekordów i false
w przypadku błędnego zapytania?
To nie jest to samo :P
No nie jest to samo, choć if(0)
zostanie chyba uznane za false
.
Protip:
false == 0
, ale false !== 0
:P
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.
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]