Überprüfen nach Datenbankeintrag

masta

Erfahrenes Mitglied
Folgendes Problem, ich möchte überprüfen ob ein bestimmter Datenbankeintrag vorhanden ist, wenn nein soll eine Meldung ausgegeben werden. So bin ich zum Ziel gekommen, wenn auch was umständlich:

PHP:
$dbanfrage = MYSQL_QUERY("SELECT * FROM usr_reg_sp where zufallzahl='$id'");

if ($ausgabe = mysql_num_rows ($dbanfrage)) {

};

if (empty($ausgabe)) {

 getpage_error("Dieser Link ist ungültig.");

};

und so funktioniert es gar nicht, was für mich ein Rätsel ist:


PHP:
if ($ausgabe = mysql_num_rows ($dbanfrage)) {

if (empty($ausgabe)) {

 getpage_error("Dieser Link ist ungültig.");

}

};

Meine Frage, gibt es eine elegantere Lösung und warum funktioniert das untere Beispiel nicht?

Gruß Patrick...
 
Warum nicht einfach so?
Code:
if (mysql_num_rows($dbanfrage) > 0) echo "Abfrage liefert Daten zurück";
else echo "Abfrage liefert keine Daten zurück";
 
Ich sage das als Newbie ungern aber das funktioniert so nicht:

PHP:
$dbanfrage = MYSQL_QUERY("SELECT * FROM usr_reg_sp where zufallzahl='$id'");

if (mysql_num_rows($dbanfrage) > 0) {

echo "Abfrage liefert Daten zurück";

} else {

echo "Abfrage liefert keine Daten zurück";

};

Wo das wiederrum funktioniert...hatte schonmal eine Frage gestellt warum ich eine Variable in IF angeben muss, aber niemand konnte mir was dazu sagen.

PHP:
$dbanfrage = MYSQL_QUERY("SELECT * FROM usr_reg_sp where zufallzahl='$id'");

if ($test = mysql_num_rows($dbanfrage) > 0) {

echo "Abfrage liefert Daten zurück";

} else {

echo "Abfrage liefert keine Daten zurück";

};
 
Zuletzt bearbeitet:
Öhm... wieso sollte das nicht funktionieren? Die zweite Variante macht doch auch eigentlich nichts anderes, abgesehen davon, dass Du eine unnötige Variable benutzt. :rolleyes:
 
Habe es nochmal getestet Du hast recht. Sorry.
Nur ich will ja keine IF ausgabe sondern nur eigenlich die else,
also wenn es nicht vorhanden ist.
Wenn der Eintrag da ist soll das Script einfach weiterlaufen.
Will jetzt aber auch nicht das ganze Script in den IF Bereich kopieren.
 
Dazu musst Du die Abfrage einfach nur umdrehen. Entweder so:
Code:
if (!(mysql_num_rows($dbanfrage) > 0)) { ...
Oder eben so:
Code:
if (mysql_num_rows($dbanfrage) = 0) { ...

PS: Tängtängtäng, 2000 Beiträge. :-)
 
Oh, es wird Zeit wieder die Foren still stehen zulassen:

WEBMASTER: Tutorialsstaffel still gestanden
WEBMASTER: Ich bitte vorzutreten den 6 Sterne asphyxia.
asphyxia: 6 Sterne asphyxia, Herr Webmaster melde mich wie befohlen.
WEBMASTER: 6 Sterne asphyxia nehme Sie Stellung zur Truppe auf:
WEBMASTER: Hiermit verleihe ich dem 6 Sterne asphyxia das goldene
Forum für 2000 erfolgreiche (mehr oder weniger) Beiträge. Ich gratulieren Ihnen hiermit zu dieser aussergewöhnlichen leistung.
asphyxia: 6 Sterne asphyxia mit golgenem Forum, Herr Webmaster melde mich ab:
WEBMASTER: Tutorialstaffel rührt euch.
WEBMASTER: In den Foren wegtreten.

Die ganze Gruppe wieder: Hey Glückwunsch, starke Leistung, mach weiter so blabla.....
 
Schön wär's... Vielleicht macht Lagaf sowas ja mal, wenn einer die 10000 hinter sich gelassen hat? :rolleyes:
Aber bei 2000 ist das wohl nicht unbedingt gerechtfertigt.
 
Zurück