phpbar.de logo

Mailinglisten-Archive

[php] Schnell ertesten ob Datensaetze fuer eine MySQL Abfrage existieren?

[php] Schnell ertesten ob Datensaetze fuer eine MySQL Abfrage existieren?

php_(at)_phpcenter.de php_(at)_phpcenter.de
Mon, 16 Apr 2001 21:37:31 +0200


On Mon, Apr 16, 2001 at 09:04:40PM +0200, Stefan Schoone wrote:

> ich wuerde gerne wissen, wie ich schnell testen kann, ob für eine SQL
> Abfrage Datensaetze existieren.
> 
> Die Abfrage mache ich mit:
> 
> $link   = mysql_pconnect ($host, $user, $pw) or die();
> $result = mysql_db_query($db, "select * from shop where warengruppe = '$remove'", $link) or die();
> 
> $anz_artikel = 0;
> while ($row = mysql_fetch_array($result)) {
>   $anz_artikel = $anz_artikel+1;
>   echo ("$row[pid] ");
>   echo ("<a href=\"artikel_change.php3?pid=$row[pid]\">$row[kurzbez]</a><br>");
> }

Ich würde halt in die() was reinschreiben, damit man weiß ob das
funktioniert hat oder nicht.
 
> Jetzt habe ich es so gemacht, dass ich die Ausgabe immer durchlaufen
> lassen und einen Zaehler mirzaehlen lasse. Wenn der Zaehler auf 0 ist
> weiss ich dass kein Datensatz vorhanden war. Doch das muss doch auch
> einfacher gehen. Im Manual steht zu mysql_fetch_array das es *false*
> zurueck gibt, wenn kein Datensatz gefunden wird, doch mit der Abfrage:
> if ($result == FALSE) funktioniert es nich

Das mit dem boolschen Vergleich funktioniert an der Stelle nicht immer so
problemlos. Da sollte man auf mysql_num_rows() zurück greifen. Das
Beispiel in dem Buch von Paul DuBois, Seite 682, kann auch nur
funktionieren wenn mysql_fetch_array() mindestens einen Datensatz liefert.

-Egon

-- 
LinuxTag, Stuttgart, Germany: July 5-8 2001: http://www.linuxtag.de/
All known books about PHP and related books: http://php.net/books.php 
Concert Band of the University of Hohenheim: http://www.concert-band.de/
First and second bestselling book in German: http://www.php-buch.de/


php::bar PHP Wiki   -   Listenarchive