Ich möchte meinen aktuellen Code aktualisieren, der ständig mit PDO sql injiziert wird.
Zur Zeit verwende ich eine Variable in einer PDO-Abfrage.
Wenn ich zwei Argumente wie dieses habe
%Vor%Und ich habe eine Abfrage wie diese
%Vor% PDO meldet einen Fehler in der letzten Zeile der Abfrage ORDER BY
Wenn ich diese Zeile mit ersetze
"ORDER BY Date DESC LIMIT3,3");
alles funktioniert.
So, wie man Variablenwerte in PDO :: query hinzufügt?
Aktualisiert: Danke an die Antwort unten Ich habe meinen Code wie folgt aktualisiert
%Vor%Aber Fehler ist aufgetreten:
Schwerwiegender Fehler: Nicht abgefangene Ausnahme 'PDOException' mit Nachricht 'SQLSTATE [42000]: Syntaxfehler oder Zugriffsverletzung: 1064 Sie haben ein Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrem entspricht MySQL-Server-Version für die richtige Syntax in der Nähe von "-3", "3" bei Zeile 1 'in /pdo/test.php:42 Stack-Trace: # 0 /pdo/test.php(42): PDOStatement- & gt; execute () # 1 {main} geworfen / pdo / test ..
Zweites Update Geändert von PARAM_STR zu PARAM_INT wie folgt
%Vor%Alles funktioniert.
Sie möchten vorbereitete Anweisungen und Abfrageparameter wie folgt verwenden:
%Vor%Das direkte Verwenden von Variablen in Ihrer Abfrage schützt Sie nicht vor SQL-Injektionen, selbst wenn Sie PDO verwenden. Parameter sind der einzige gute Weg, sie zu verhindern.