Warum funktioniert folgende Querry nicht?

danielmueller

Gesperrt
Ich habe es mir lange angesehen aber ich finde einfach den Fehler nicht:
PHP:
$sql="SELECT Textboxen.Header, Textboxen.Text, Textboxen.Bild, Textboxen.Bildalt, Textboxen.Link, Textboxen.Linkname, CONCAT(DAYOFMONTH(`Textboxen.Datum`), '. ', ELT(MONTH(`Textboxen.Datum`), 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezenber'), DATE_FORMAT(`Textboxen.Datum`, ' %Y, %H:%i:%s')) AS `Textboxen.Datum`, "
     ."FROM Textboxen, Content, Context "
     ."WHERE Content.Section='$section'"
     ."&& Content.Textboxen = Context.ID"
     ."&& Context.Box = Textboxen.ID "
     ."ORDER BY Datum $showorder LIMIT $show, $max_e";
Bitte helft mir.
 
Die Fehler Nummer ist: 1064
Und die Fehler Nachricht:
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 'FROM Textboxen, Content, Context WHERE Content.Section='Home'&&
Das hilft mir aber auch nicht weiter.
Ob ich && oder AND verwende ist doch egal oder? Bei meinen anderen Querrys es auch ohne AND sondern mit &&.
 
Wie wäre es damit?
PHP:
$sql = "SELECT
            Textboxen.Header, Textboxen.Text, Textboxen.Bild, Textboxen.Bildalt, Textboxen.Link, Textboxen.Linkname, CONCAT(DAYOFMONTH(`Textboxen.Datum`), '. ', ELT(MONTH(`Textboxen.Datum`), 'Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezenber'), DATE_FORMAT(`Textboxen.Datum`, ' %Y, %H:%i:%s')) AS `Textboxen.Datum`
        FROM
	    Textboxen, Content, Context
	WHERE
	    Content.Section = " . $section . "
	  AND
	    Content.Textboxen = Context.ID
	  AND
	    Context.Box = Textboxen.ID
	ORDER BY
	    Datum " . $showorder . "
	LIMIT
	    " . $show . "," . $max_e . "";
 
Zuletzt bearbeitet:
Original geschrieben von danielmueller
Ich habe es mir lange angesehen aber ich finde einfach den Fehler nicht:

Hmm hättest es noch länger angesehen hättest den Fehler vielleicht auch gefunden oder man lernt endlich mit dem Debugger umzugehen den man in die Händen bekommt, wenn man PHP installiert.

Du hattest nen simples Komma nach dem letzten Feld was du haben wolltest und vor dem From zu viel.
 
Wenn Jons Vorschlag nicht funktioniert könntest du auch folgendes probieren:
PHP:
<?php
  [...]
  $sql = "
	SELECT
	        `Textboxen`.`Header`,
	        `Textboxen`.`Text`,
	        `Textboxen`.`Bild`,
	        `Textboxen`.`Bildalt`,
	        `Textboxen`.`Link`,
	        `Textboxen`.`Linkname`,
	        CONCAT(
	          DATE_FORMAT(`Textboxen`.`Datum`, '%e. '),
	          ELT(MONTH(`Textboxen`.`Datum`), 'Januar', 'Februar', 'M&auml;rz', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezenber'),
	          DATE_FORMAT(`Textboxen`.`Datum`, ' %Y, %H:%i:%s')
	        ) AS `Datum_formatiert`
	  FROM
	        `Textboxen`,
	        `Content`,
	        `Context`
	  WHERE
	        `Content`.`Section` = '".$section."'
	    AND `Content`.`Textboxen` = `Context`.`ID`
	    AND `Context`.`Box` = `Textboxen`.`ID`
	  ORDER BY
	        `Textboxen`.`Datum` ".$showorder."
	  LIMIT
	        ".$show.", ".$max_e."
	";
  [...]
?>
 
Zurück