Habe das mit PHP 5.3.13 überprüft - zwei Versionen Ihres Codes geben mir:
%Vor%Darüber hinaus gibt mir die Verwendung von bindValue () anstelle von bindParam () zwei Codeversionen:
%Vor%ps. Ich arbeite lieber mit bindValue () und vermische es nicht mit bindParam (). Die Verwendung von bindParam () führt zu keinerlei Leistungsverbesserungen. Einige Leute glauben, dass die Weitergabe von Werten und das Weiterreichen per Zeiger in PHP wie in C / C ++ funktioniert, aber das ist falsches Denken. Die Verwendung von bindParam () kann zu Fehlern führen, die sie kaum finden, wenn sie auftreten.
Ich weiß, dass das schon gesagt wurde, aber ich werde auch eine Notiz darüber schreiben, weil ich denke, dass es wichtig ist, daran zu denken:
Wenn Sie PDO bindParam verwenden, um eine Suche mit einer LIKE-Bedingung durchzuführen, können Sie die Prozentsätze und Anführungszeichen nicht in den Parameter param placeholder %:keyword%
einfügen.
Das ist falsch:
%Vor%Die KORREKTE Lösung besteht darin, den Platzhalter folgendermaßen zu löschen:
%Vor%Und schließlich werden die Anführungszeichen beim Ausführen der Abfrage automatisch von PDO hinzugefügt, so dass Sie sich keine Gedanken darüber machen müssen.
Also wäre das vollständige Beispiel:
%Vor%