Textausgabe wenn Datensatz nicht in der Datenbank gefunden wurde

Papenburger

Erfahrenes Mitglied
Hallo,

ich habe eine DB abfrage gemacht:
PHP:
$abfrage = "SELECT * FROM cube_gutschein";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))

Wenn nun der Datensatz, den ich suche, nicht in der Datenbank steht, soll ein Text ausgegeben werden. Dies wollte ich so lösen:

PHP:
if($row->fucoid==false)
{
$meldung="Steht leider nicht in der Datenbank!";
include ($start);


So funktioniert das ganze aber leider nicht, die Seite bleibt weis und es wird nichts ausgegeben. Warum? Und wie kann ich das ändern?


Danke für eure Hilfe.

Gruß
Daniel
 
Code:
if (mysql_num_rows($ergebniss) == 0)
  {
  echo 'Nicht in der Datenbank';
  }
else
  {
      while ($row = mysql_fetch_array($ergebniss)
       {
        tralalaaaaa
       }
  }
 
Erstmal danke, dennoch kommt immer diese Warnung:

Warning: MySql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web2/html/cube/gutschein/gutschein.php on line 94

Eigentlich sollte der Text da nicht stehen...


LG Daniel
 
Zuletzt bearbeitet:
Ok, die Warnung ist weg, aber das Script gibt immer noch aus, das ich nichts in der DB habe, obwohl dort was drine steht...

LG Daniel

Edit: Der findet garnichts in der Datenbank wenn ich das in einer Variablen packe und dann mit echo ausgebe...
 
Zuletzt bearbeitet:
Also schlag dir das bitte aus dem Kopf, Warnungen einfach mit @ zu unterdrücken. Die haben ja schließlich auch einen Sinn. ;-)

Entweder hast du den Schreibfehler vom Fruchtzerg übernommen und das Argument, das du mysql_num_rows() übergibst, ist nicht das gleiche das dein Abfrageergebnis repräsentiert ($ergebnis != $ergebniss) oder deine SQL-Query funktioniert nicht - wo dann ein echo mysql_error(); nach der Abfrage helfen würde.
 
sorry für meinen Schreibfehler^^

Gewöhn dir doch an, hinter jedes Query ein "or die(mysql_error());" zu schreiben...

Zu dem der das mit dem @ vorgeschlagen hat... na ja, bei schwach typisierten Sprachen is man ja gerne mal q+d, sollte es aber nicht als Hilfe so weitergeben...
 
Naja, soweit ist der Fehler ja weg (ohne das @ davor...)
Hab das nun so gelöst, jedoch funktioniert das leider noch nicht:
PHP:
$abfrage = "SELECT * FROM cube_gutschein WHERE fucoid='$fid'";
$ergebniss = mysql_query($abfrage);
$num_rows = mysql_num_rows($ergebniss);

if ($num_rows == 0)
  {
  $meldung="Sie besitzen leider keinen Gutschein!";
  include ($start);
  }
else
  {

  while ($row = mysql_fetch_array($ergebniss))
   {
   $gutschein_wert=$row->wert;
   }
    if($gutschein_wert<100)
    {
    $meldung2="Sie besitzen leider kein Guthaben mehr auf Ihren Gutschein!";
    include ($start);
    }
    else
    {
    Restlicher Code...
    }

Nun gibt er mir jedesmal diesen Fehler aus:
Sie besitzen leider kein Guthaben mehr auf Ihren Gutschein!

Warum? Alles ist in Ordnung. In der DB ist auch alles richtig eingetragen, eigentlich sollte das dann funktionieren, aber das tuts nicht, warum?

LG Daniel
 
wie ich das sehe, willst du nur einen datensatz auslesen, oder

Code:
 $abfrage = "SELECT wert FROM cube_gutschein WHERE fucoid='$fid'";
$ergebniss = mysql_query($abfrage);
$num_rows = mysql_num_rows($ergebniss);

if ($num_rows == 0)
  {
  $meldung="Sie besitzen leider keinen Gutschein!";
  include ($start);
  }
else
  {

  $row = mysql_fetch_array($ergebniss))
     if($row[wert]<100)
     {
    $meldung2="Sie besitzen leider kein Guthaben mehr auf Ihren Gutschein!";
    include ($start);
    }
    else
    {
    Restlicher Code...
    }

dann mach es so...
 
Zurück