Probleme mit SQL

Gesperrt
Godspeed
Beiträge: 49
Registriert: Mi 3. Sep 2003, 13:25
Kontaktdaten:

Probleme mit SQL

Beitrag von Godspeed » Do 23. Okt 2003, 09:30

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

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Do 23. Okt 2003, 09:35

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 :)

Godspeed
Beiträge: 49
Registriert: Mi 3. Sep 2003, 13:25
Kontaktdaten:

Beitrag von Godspeed » Do 23. Okt 2003, 09:57

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.

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Do 23. Okt 2003, 10:05

evtl. solltest du es so schreiben:

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

Godspeed
Beiträge: 49
Registriert: Mi 3. Sep 2003, 13:25
Kontaktdaten:

Beitrag von Godspeed » Do 23. Okt 2003, 10:17

hat leider immer noch nicht geklappt, aber hab nen anderen Weg genommen und nun geht es so halbwechs :wink: .

HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB » Do 23. Okt 2003, 16:40

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

Godspeed
Beiträge: 49
Registriert: Mi 3. Sep 2003, 13:25
Kontaktdaten:

Beitrag von Godspeed » Do 23. Okt 2003, 18:24

vielen dank
Funzt super

Gesperrt