• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datensatz leer? Hinweisnachricht ausgeben

Witschi262

Blogger
Hi,
ich lese einige Daten aus einer Datenbank aus.
PHP:
$sql = "SELECT * FROM dienstag WHERE week = 1 ORDER BY starttime ASC";     
$ergebnis = mysql_query($sql);while($row = mysql_fetch_object($ergebnis)){
[...]
}

Jetzt möchte ich aber ermitteln, wenn $row leer ist, dass ein Hinweis an den Nutzer ausgegeben wird. Ich habe versucht, durch if(empty($row)){} eine Nachricht zu erzeugen, hat aber leider nicht geklappt. Gibt es auch eine andere Lösung?
 
Werbung:
Prüfe mal auf null
PHP:
if($row == null) { echo "ist leer"; }

auf php.net steht
Return Values: Returns an object with string properties that correspond to the fetched row, or FALSE if there are no more rows.

also prüfe doch lieber auf false.
 
Prüfe mal auf null
PHP:
if($row == null) { echo "ist leer"; }

auf php.net steht
Return Values: Returns an object with string properties that correspond to the fetched row, or FALSE if there are no more rows.

also prüfe doch lieber auf false.

Deine Prüfung kann aber nur innerhalb der Schleife durchgeführt werden, der Hinweis soll aber schon vor der AUsführung der Schleife ausgegeben werden, wenn kein Datensatz vorhanden ist.

@Witschi262
Hierfür bietet sich mysql_num_rows() ganz gut an.

Bsp.:
PHP:
$sql = "SELECT * FROM dienstag WHERE week = 1 ORDER BY starttime ASC";     
$ergebnis = mysql_query($sql);
if (mysql_num_rows($ergebnis) < 1) {
    echo 'Sorry aber es sind keine Datensätze vorhanden!';
} else {
    while($row = mysql_fetch_object($ergebnis)){
        [...]
    }
}
 
Werbung:
Hallo CPCoder,

ein sehr guter Hinweis und auch Hilfe eigentliche für alle Abfragen.

...bevor man sich dumm und dusslig sucht, nach einem "Fehler"...
 
Zurück
Oben