hi,
ich nutze die Prepared Statements und es gibt ein paar Probleme mit bind_result / bind_param.
Nutze ich bind_result fallen nach dem fetch sonderzeichen weg (Werden durch Leerzeichen ersetzt).
Wenn ich bind_param nutze für zb ein LIKE Statement und ich Zeichen wie % unterbringen will hat das kein Effekt. Die ? werden auch nicht in geschachtelten SQL Abfragen erkannt (und es kommt irgend ein mir unlogisches Ergebnis)
Hier die SQLs die jeweils nicht gehen :
Die Statements müssen so bleiben da es sonst zu performance problemen kommt, auch hab ich die Statements schon gekürzt das nur noch das Problem eigentlich zu sehen ist.
PHP-Code:
$sql = "
SELECT *
FROM ( SELECT *
FROM sendung
WHERE
sendung.beitragid = ?
)
AS temptab
WHERE temptab.zeitstempel < DATE_ADD(CURRENT_TIMESTAMP, INTERVAL 3 WEEK)
GROUP BY temptab.beitragid
LIMIT 1;
";
hier kommt irgend ein zufälliges Ergebnis das bind_param geht innerhalb des geschachtelten SQLs nicht.
PHP-Code:
SELECT *
FROM dvd
WHERE
dvd.dvd_id = ? && (dvd.klasse LIKE CONCAT('%', ? , '%') || dvd.klasse = '')
GROUP BY dvd_film.dvd_id
LIMIT 1;
hier bei dem Funktioniert das bind_param bei dem LIKE nicht, hab schon extra mit der concat funktion probiert, aber half nichts.
Sind diese Probleme bekannt und gibt es Workarounds ausser nicht MySQLi einzusetzen ?
danke schonmal