MySQL: liefert es ein Ergebnis?
Robert21
- php
Hi!
Wie kann ich überprüfen ob MySQL ein Ergebnis zurückliefert?
=>
$result = mysql_query("SELECT * FROM table WHERE id="2323");
wenn ich jetzt mysql_num_rows($result) nutze erhalte ich nen Fehler soferns kein Ergebnis gibt, ich möcht aber ne if-else-Konstruktion.
danke
Robert
wenn ich jetzt mysql_num_rows($result) nutze erhalte ich nen Fehler soferns kein Ergebnis gibt, ich möcht aber ne if-else-Konstruktion.
prüfe vorher, was $result liefert
if (!$result) {
// fehlerbehandlung
} else {
mysql_num_rows($result);
}
Hi,
eigentlich dürftest Du keinen Fehler erhalten, sondern nur einen leeren Datensatz, und dann könntest Du überprüfen:
$menge = mysql_num_rows($result);
if($menge > 0){
mache das
}else{
mache jenes
}
Gruß
Tunnel85
nö:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...
lg
Robert
nö:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...
lg
Robert
Das hört sich aber eher nach einem Fehler in deinem Select-Befehl an....
Übernimm doch mal den Select-Befehl und gib in über phpMYAdmin ein, und schaue ob Du dann einen Fehler erhälst
echo $begrüßung;
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ...
Das hört sich aber eher nach einem Fehler in deinem Select-Befehl an....
Es gibt die Funktion mysql_error(), die in diesem Fall (konkret, wenn eine der mysql_*-Funktionen (außer *_fetch_*) ein false zurückgibt) den Fehlermeldungstext des MySQL-Servers bereitstellt.
Übernimm doch mal den Select-Befehl und gib in über phpMYAdmin ein, und schaue ob Du dann einen Fehler erhälst
Vorher sollte man sich das erzeugte Statement zur Kontrolle ausgeben lassen. Dazu ist es günstig, es zunächst in einer Variablen zusammenzubauen, und diese dann dem mysql_query() zu übergeben.
P.s. erhalsen -> erhälst vs. erhalten -> erhältst
echo "$verabschiedung $name";
eigentlich dürftest Du keinen Fehler erhalten,
richtig, darum ist es wichtig das ergebnis der abfrage zu prüfen ob dort nicht etwa ein fehler ist - in jedem schritt (verbindung, selektieren der datenbank, senden der abfrage, auswerten der abfrage) sollte auf fehler geprüft werden
Hi!
Aloha 'oe,
Wie kann ich überprüfen ob MySQL ein Ergebnis zurückliefert?
=>
$result = mysql_query("SELECT * FROM table WHERE id="2323");
Das Problem ist ein anderes. Schau dir nochmals an, wie du deine Anführungszeichen gesetzt hast und was das für Auswirkungen hat.
Gruß, Volker