Seite 1 von 1

Probleme mit SQL

Verfasst: Do 23. Okt 2003, 09:30
von Godspeed
moin
Kann es sein das Contenido nicht mit allen SQL Befehlen zurecht kommt? Bei mir bekomme ich keine Werte wenn ich mit MIN oder Max arbeite

Code: Alles auswählen

 SELECT MAX(idcatlang) FROM $cfg["tab"]["cat_lang"] 
Ist das beabsichtigt? Und weiss jemand wie man sonst den letzten oder grössten Eintrag bekommt?

mfg Alex

Verfasst: Do 23. Okt 2003, 09:35
von timo
Nein, Contenido kommt mit allen SQL-Befehlen zurecht. Oder anders gesagt: Contenido greift dir in deine SQL-Statements nicht ein. Entweder bleibt es an der PHPLIB hängen (was ich nicht glaube, da die Engine die SQL-Statements genau so, wie du sie schreibst, an die DB weiterleitet) oder die Datenbank sagt dir, daß das Statement falsch ist. Im Zweifelsfalle stehts im error_log. Also auch kein Bug :)

Verfasst: Do 23. Okt 2003, 09:57
von Godspeed
danke für die schnelle Antwort.
Nunja, die Errorlog ist leer, oder muss ich da erst noch was einstellen? Hab noch nie damit arbeiten müssen und daher auch keine Ahnung :? .

der Befehl funktioniert einwandfei bei PhpMyAdmin.

Verfasst: Do 23. Okt 2003, 10:05
von timo
evtl. solltest du es so schreiben:

$sql = " SELECT MAX(idcatlang) FROM ".$cfg["tab"]["cat_lang"];

Verfasst: Do 23. Okt 2003, 10:17
von Godspeed
hat leider immer noch nicht geklappt, aber hab nen anderen Weg genommen und nun geht es so halbwechs :wink: .

Verfasst: Do 23. Okt 2003, 16:40
von HerrB
MAX ist eine Gruppierungsfunktion. Es muss mindestens

Code: Alles auswählen

$sql = "SELECT MAX(idcatlang) FROM ".$cfg["tab"]["cat_lang"]." GROUP BY <irgendwas>"
heissen (siehe: http://www.mysql.com/doc/en/GROUP-BY-Functions.html).

Wenn nur die höchste idcatlang zurückgegeben werden soll, könnte man warscheinlich

Code: Alles auswählen

$sql = "SELECT idcatlang FROM ".$cfg["tab"]["cat_lang"]." ORDER BY idcatlang DESC LIMIT 0,1"
verwenden.

Gruß
HerrB

Verfasst: Do 23. Okt 2003, 18:24
von Godspeed
vielen dank
Funzt super