Ich möchte das Escapten ja nur in diesem einen Fall auslassen.
Aber dann hier der gesamte Code:
PHP-Code:
$teil = explode(",",$this->keywort);
$teilcount = count($teil)-1;
foreach ($teil as $key => $wert) {
if ($key == 0) { $sql2 = "AND (KEYWORT like '%".trim($wert)."%'";}
if ($key >= 1) { $sql2 .= " OR KEYWORT like '%".trim($wert)."%'";}
if ($key == $teilcount) { $sql2 .= ") ";}
}
PHP-Code:
$dsatz = $this->Database->prepare("SELECT pid, alias, headline, stichzeile, teaser, singleSRC, alt FROM tl_news WHERE `date` > UNIX_TIMESTAMP(DATE_ADD(CURDATE(),INTERVAL -180 DAY)) AND keywort != '' AND `id` != '".$this->id."' AND `published` = '1' ? ORDER BY `date` DESC LIMIT 6")->execute($sql2);
Baue ich $sql2 anstelle des ? sofort ein, bekomme ich meist einen Contao-Error. (Nicht immer)
Mir fehlt jedoch zur Zeit die Phantasie wie ich es anders aufbauen könnte.
Lesezeichen