2010-02-11 21 views
43

¿Hay alguna forma de recuperar la consulta que se utilizó para generar un objeto de declaración Preparado PDO?Obtener consulta de la declaración preparada de PDO

+0

Posible duplicado de [Obtención de una cadena de consulta SQL sin procesar a partir de declaraciones preparadas con PDO] (http://stackoverflow.com/questions/210564/getting-raw-sql-query-string-from-pdo-prepared-statements) – FFirmenich

Respuesta

31
+0

Bingo : http://www.php.net/manual/en/class.pdostatement.php#92046 – Strae

+38

Cada vez que uso esto, todavía muestra los params como marcadores de posición. ¿Hay alguna forma de obtener la cuerda con los parámetros establecidos? ¿De qué manera lo obtiene DB? –

+3

Debería verificar los registros de su base de datos. Para MySQL, consulte esta página: http://dev.mysql.com/doc/refman/5.0/en/query-log.html – Arkh

9

Si no se opone a la extensión del defecto \ DOP y el objeto \ PDOStatement, es posible considerar la búsqueda de:

github.com/noahheck/E_PDOStatement

Esta extensión PDO le permite ver una sentencia de consulta completa como una ejemplo de lo que podría ejecutarse en el nivel de la base de datos. Utiliza expresiones regulares para interpolar los parámetros enlazados de su declaración PDO.

Al extender la definición predeterminada de \ PDOStatement, E_PDOStatement puede ofrecer esta mejora a la funcionalidad predeterminada sin requerir modificaciones en su flujo de trabajo normal.

Descargo de responsabilidad: Creé esta extensión.

Espero que sea útil para otra persona.

Cuestiones relacionadas