MAX geht nicht
Kurt001
- datenbank
Guten Tag,
ich programmiere gerade in PHP und mySQL.
Folgendes funktioniert:
$query = "SELECT ID FROM ".GA_TABLEMISSIONS." WHERE level = 1";
$result = mysql_query($query) or die("Look for: " . mysql_error());
$rs = mysql_fetch_assoc($result);
echo $rs['ID'];
mysql_free_result($result);
Mit MAX funktioniert es nicht:
$query = "SELECT MAX(ID) FROM ".GA_TABLEMISSIONS." WHERE level = 1";
$result = mysql_query($query) or die("Look for: " . mysql_error());
$rs = mysql_fetch_assoc($result);
echo $rs['ID'];
mysql_free_result($result);
Fehlermeldung:
Notice: Undefined index: ID in D:\web\EasyPHP5.3.0\main\inc\Selection.inc on line 6
line 6: echo $rs['ID'];
Kann mir einer helfen?
Vielen Dank
Kurt
Hallo,
$query = "SELECT ID FROM ".GA_TABLEMISSIONS." WHERE level = 1";
$result = mysql_query($query) or die("Look for: " . mysql_error());
die() ist keine Fehlerbehandlung
$rs = mysql_fetch_assoc($result);
Leere Resultate sind völlig legitim und kein Fehler. Du berücksichtigst diesen Fall nicht.
Mit MAX funktioniert es nicht:
$query = "SELECT MAX(ID) FROM ".GA_TABLEMISSIONS." WHERE level = 1";
wie heißt die erste und einzige Spalte Deiner Abfrage?
Aha: MAX(ID)
$result = mysql_query($query) or die("Look for: " . mysql_error());
$rs = mysql_fetch_assoc($result);
echo $rs['ID'];
wieso versuchst Du auf ein Feld zuzugreifen, dass in Deinem Ergebnis nicht vorhanden ist.
Nutze einen Aliasnamen für Deine Spalte, greife über den netten Namen "MAX(ID)" auf Deine Spalte zu oder greife über die Position auf Deine Spalte zu, indem Du mysql_fetch_array() verwendest. Tipps mit ORDER BY empfehlung DESC
:-)
Freundliche Grüße
Vinzenz
Freundliche Grüße
Vinzenz
Wow, wow.
So ausführlich und gut beschrieben hatte ich gar nicht mit einer Antwort gerechnet.
Danke schön
Kurt
Hi!
Fehlermeldung:
Notice: Undefined index: ID in D:\web\EasyPHP5.3.0\main\inc\Selection.inc on line 6
line 6: echo $rs['ID'];
Kann mir einer helfen?
Vinzenz hat ja schon den Fehler aufgezeigt. Du hättest das Problem vermutlich selbst beheben können, wenn du das wichtigste Debugging-Werkzeug namens Kontrollausgabe angewendet hättest. Wunsch und Wirklichkeit differieren gern beim Programmieren. Deswegen: Nachschauen!
Ein
var_dump($rs);
zeigt dir an, was wirklich in $rs enthalten ist.
Lo!