Hallo,
ich bin über einen Fehler im PDO gestolpert, der keine Übergabe von Start und Limit-Anzahl erlaubt.
So soll der Test-Query eigentlich aussehen:
SELECT user FROM test WHERE user='test' LIMIT 0,100
Dieser wird mit dem folgenden Array an PDO übergeben
array(":user" => "test", ":user" => 0, ":anzahl" => 100 )
SELECT user FROM test WHERE user= :user LIMIT :start , :anzahl
Im Anschluss wird erst der Query an prepare() übergeben und mit dem Array per execute() ausgeführt.
PDO macht leider folgenden Query daraus, was zu einem Fehler führt
SELECT user FROM test WHERE user='test' LIMIT '0','100'
Der Fehler ist bekannt (http://bugs.php.net/bug.php?id=40740) nur leider in der neusten PHP Version (5.2.5, Windows) noch nicht behoben.
Hat jemand einen Tipp oder Workaround, mit dem man dieses Problem sicher umgehen kann?
Natürlich kann ich auch den Query auch normal mit PHP bauen.
Nur wenn ich schon den PDO einsetze möchte ich ihn gerne für alle Datenbehandlungen (Vorbeugen von SQL Injections) verwenden.
Ratlos Poscht
ich bin über einen Fehler im PDO gestolpert, der keine Übergabe von Start und Limit-Anzahl erlaubt.
So soll der Test-Query eigentlich aussehen:
SELECT user FROM test WHERE user='test' LIMIT 0,100
Dieser wird mit dem folgenden Array an PDO übergeben
array(":user" => "test", ":user" => 0, ":anzahl" => 100 )
SELECT user FROM test WHERE user= :user LIMIT :start , :anzahl
Im Anschluss wird erst der Query an prepare() übergeben und mit dem Array per execute() ausgeführt.
PDO macht leider folgenden Query daraus, was zu einem Fehler führt
SELECT user FROM test WHERE user='test' LIMIT '0','100'
Der Fehler ist bekannt (http://bugs.php.net/bug.php?id=40740) nur leider in der neusten PHP Version (5.2.5, Windows) noch nicht behoben.
Hat jemand einen Tipp oder Workaround, mit dem man dieses Problem sicher umgehen kann?
Natürlich kann ich auch den Query auch normal mit PHP bauen.
Nur wenn ich schon den PDO einsetze möchte ich ihn gerne für alle Datenbehandlungen (Vorbeugen von SQL Injections) verwenden.
Ratlos Poscht
Kommentar