Hallo,
soll man Prepared Statements in PDO als Sicherheitsfeature nutzen oder lieber nicht?
Was ist die Alternative? Du kannst dir auch deine eigene API bauen, die beliebige Werte sicher in SQL-Queries einbaut. – Will man das tun? Nein. – Ist das äquivalent sicher? Nur mit viel Aufwand und Testing. – Ist das performanter? Wage ich zu bezweifeln. Dazu müsstest du es auch in C implementieren. Dabei kann sicherheitstechnisch nur noch mehr schiefgehen.
Die »Alternative« zu PDO Prepared Statements sind eher objektrelationale Mapper. Die sind natürlich noch langsamer, weil mehr Code ausgeführt wird und es sich um eine Abstraktion handelt. Dafür hast du mit SQL in den meisten Fällen nichts mehr am Hut, kannst also keine Fehler beim Erzeugen von SQL-Queries machen.
Ein ‘normales’ $pdo->query(“MySQL Query) ist ca. drei mal so schnell wie ein Prepared Statement mit PDO.
Ich bezweifle, dass das korrekt ist. Selbst wenn: Premature optimization is the root of all evil. Teste die Performance in deiner konkreten Anwendung und optimiere die größten Blöcke. Ich bezweifle, dass Prepared Statements einen großen Anteil oder sogar das Bottleneck sind. Wenn sie sich wirklich als langsam erweisen, dann kannst du nach gleichwertigen Alternativen suchen.
Letztlich ist Sicherheit wichtiger als Performance, daher würde ich im Zweifelsfall ein robustes, sicheres, zuverlässiges, minimal langsameres System bevorzugen.
Viele Grüße
Mathias