• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

SELECT-Problem MySQL

thuemmy

Aktives Mitglied
[Erledigt] SELECT-Problem MySQL

Hallo Forum,

folgendes Problem: Ich habe eine Tabelle mit vier Datensätzen. Unter anderem gibt es ein Feld das heißt 'datum' vom Typ 'date'. Zwei der Datensätze liegen in der Vergangenheit, die anderen beiden in der Zukunft. Mit folgendem Code lese ich die Tabelle aus, oder versuche es zumindest:
PHP:
$sql = "SELECT * from `veranstaltungen` ORDER BY `datum`, `von` WHERE `datum` >= '".date("Y-m-d", time())."';";  
$ergebnis = $db->query($sql);
while ($db->affected_rows > 0 && $zeile = $ergebnis->fetch_object()) {
  mach_was();
}
$db->affected_rows liefert mir übrigens -1

Vielen Dank schonmal
Gruß thuemmy

Edit: Nen Fehler wird auch ausgegeben
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `datum` >= '2013-03-27'' at line 1
Aber richtig damit anfangen kann ich nicht.

Edit2: Das Problem lag in der Reihenfolge des SQL-Statements. Zuerst muss die WHERE-Bedingung kommen, und dann erst die ORDER-Anweisung. Und die Date-Funktion habe ich durch die MySQL-Funktion NOW() ersetzt.

So sieht das jetzt aus:
PHP:
$sql = "SELECT * from `veranstaltungen` WHERE `datum` >= NOW() ORDER BY `datum`, `von`;";  
$ergebnis = $db->query($sql);
if ($db->affected_rows > 0) {
  while ($zeile = $ergebnis->fetch_object()) {
    mach_was();
   }
}
 
Zuletzt bearbeitet:
Im Übrigen ist es ratsam, nicht "select *" zu benutzen, sondern alle benötigten Felder (auch wenn es alle sind) in der Select-Klausel anzugeben.
 
Zurück
Oben