2010-12-06 10 views
3

Wenn Sie native SQL-Anweisungen mit Doctrine schreiben, wie sollen Sie Eingaben entziehen? Nach meiner Erfahrung funktioniert mysql_real_escape_string nicht.Manuelles Escaping in Doctrine

+0

vorbereitete Anweisung in der Lehre http://StackOverflow.com/Questions/1093428/doctrine-raw-SQL-and-prepared-Antworten – tawfekov

+0

Ich weiß darüber schon. Ich spreche über native SQL-Anweisungen. –

Antwort

3

Wenn mysql_real_escape_string() richtig verwendet wird, funktioniert es großartig. Parametrisierte Bibliotheken wie ADODB und PDO würden ohne sie nicht funktionieren. Ich empfehle dringend, PDO zu verwenden.

+11

Seit ich das gelesen habe, habe ich festgestellt, dass 'Doctrine_Manager :: connection()' eine PDO-Instanz ist. Wenn Sie also beispielsweise eine Instanz namens $ conn haben, können Sie '$ conn-> quote ($ Wert) '. –

+0

Vorsicht bei der Angebotsfunktion! Es entgeht nicht den Zitaten wie mysql_real_escape_string, sondern gibt die angegebenen Daten zurück, z. Sie rufen quote ('check') auf und der Rückgabewert ist 'check' inklusive einfacher Anführungszeichen. – 4thfloorstudios