Paul Styrnol: (MySQL) Überprüfen ob Abfrage Ergebnisse zurückgegeben hat

Beitrag lesen

Hallo,

ich mache über PHP folgende Abfrage:

mysql_connect('localhost');
 mysql_select_db("galerie");
 $result = mysql_query("SELECT name, titel FROM album WHERE name = '" . $_POST["gname"] . "'");
 while($row = mysql_fetch_array($result)) {
   mach_was();
 }

Nun ich will überprüfen, ob meine mir meine Abfrage überhaupt irgendwelche Ergebnisse liefert. Abzufragen ob $result FALSE ist bringt ja nichts.

Das alleine sagt jedoch überhaupt nichts über die Anzahl
veränderter oder gelieferter Datensätze aus.

(http://www.php.net/manual/de/function.mysql-query.php)

Laut der Funktionsbeschreibung von mysql_fetch_array müsste FALSE zurückgegeben werden wenn keine Datensätze vorhanden sind, also habe ich übeprüft ob $row["name"] bzw. $row["titel"] FALSE ist, komischerweise hat das nicht funktioniert.

Nach kurzer Recherche bin ich auf die Funktion mysql_num_rows() gestoßen, habe die Funktion innerhalb der Schleife wie folgt angewendet:

$anzahl = mysql_num_rows($result);
 if ($anzahl != "" AND $tempvar != "0") {
   mach_was1();
 } else {
   mach_was2();
 }

Liefert mir die SQL-Abfrage Ergebnisse wird mach_was1() (seht es als Platzhalter) ausgeführt, gibt es keine Ergebnisse müsste dann doch eigentlich das ausgeführt werden was nach else kommt. Aber - quelle surprise - es passiert nichts.

$row["name"] und $row["titel"] habe ich übrigens auch mit isset() überprüft, nix führte zum Ziel.

Hat irgendjemand eine Idee wie ich mein Problem lösen könnte?

Viele Grüße
Paul

--
Meine Photos:  http://www.rapunzeln.de
Meine Tribals: http://www.tribal-galerie.de