¿Hay alguna manera de ver una consulta preparada ya que se ejecutará en la base de datos? [duplicar]
Pregunta
Posible duplicado:
Declaraciones preparadas de PDO
Estoy usando la extensión mysqli en PHP y me pregunto si existe alguna forma de ver una consulta preparada, ya que se ejecutará en el servidor, p. La consulta es algo como esto
select * from table1 where id = ? and name = ?
pero quiero ver la consulta después de completar los valores, así:
select * from table1 where id = 20 and name = "John"
Solución
Duplicado de Declaraciones preparadas de PDO
Respuesta corta: no. Una consulta preparada nunca se convertirá en la consulta que espera. Es ejecutado directamente por el servidor de la base de datos. Puede usar el registro de consultas de mysql o la función no documentada de PDO debugDumpParams
, pero ambos son solo aproximaciones.
Otros consejos
Active registro de consultas mysql y lo hará registre todas las consultas en un archivo de texto para que las revise.
¿Ves dónde? Si es su código, tiene la consulta y tiene los parámetros preparados, regístrelos por separado o reemplácelos en la cadena de consulta original. Si el enlace falla, obtendrá un error; de lo contrario, debe esperar que los mismos valores se "llenen". en como los especificaste.
Es la forma en que la mayoría de las veces estoy depurando los requisitos de mysql:
$ q = " seleccione * de la tabla1 donde id = ". $ id. " y nombre = ". $ nombre; echo $ q;
El resultado genera todas las variables asignadas a la consulta.
Espero haberte entendido exactamente, lo que querías.