Datensatz schon vorhanden überprüfen

Lobedan

Mitglied
Hi,

ich hab mal wieder ein Problem.

ich hab eine SQL Abfrage

PHP:
$select_wesen_user = "SELECT t1.name AS wesen,t1.id AS idwesen,t1.bild,t2.* FROM wesen_def t1,wesen_user t2 WHERE t2.userid = '".$_SESSION['id']."' AND t1.id = t2.wesenid ORDER BY t1.id ASC";
$query_wesen_user = mysql_query($select_wesen_user) OR die('SQl: \$select_wesen_user: '.mysql_error());

die mir auch Ergebnisse liefert.

Nun möchte ich aber wissen ob ich ergebnisse hab oder nicht also mach ich
PHP:
if (!$query_wesen_user || mysql_num_rows($query_wesen_user) != "1") {
tu das();
} else {
tu das was ich will();
}

Jetzt wird aber nur das "tu das();" ausgeführt, obwohl ergebnisse in der Datenbank hab und ich aber eigentlich "tu das was ich will();" ausgeführt haben möchte.

Hat da jemand eine Lösung

lg Lobedan
 
Hi,

du prüfst mit != "1", also tritt das nur ein, wenn genau ein Ergebnis nicht vorhanden ist. Hast du 0 oder 2 oder noch mehr, trifft das zu.
Prüfe auf: !mysql_num_rows($query_wesen_user), wenn das false liefert, sind keine Einträge vorhanden oder aber du prüfst auf "größer als null". Was dir lieber ist.

//edit: Und die Prüfung nach dem Query selbst (!$query_wesen_user) ist uninteressant, da dein Script sowieso abbricht, wenn das fehlschlägt.
 
Zuletzt bearbeitet:
Zurück