sql >> Base de Datos >  >> RDS >> Mysql

En PHP con PDO, ¿cómo verificar la consulta final parametrizada de SQL?

Así que creo que finalmente responderé mi propia pregunta para tener una solución completa para el registro. Pero tengo que agradecer a Ben James y Kailash Badu que proporcionaron las pistas para esto.

Respuesta corta
Como lo mencionó Ben James:NO .
La consulta SQL completa no existe en el lado de PHP, porque la consulta con tokens y los parámetros se envían por separado a la base de datos. Solo en el lado de la base de datos existe la consulta completa.

Incluso intentar crear una función para reemplazar tokens en el lado de PHP no garantizaría que el proceso de reemplazo sea el mismo que el de SQL (cosas complicadas como tipo de token, bindValue vs bindParam, ...)

Solución alternativa
Aquí es donde explico la respuesta de Kailash Badu. Al registrar todas las consultas SQL, podemos ver lo que realmente se ejecuta en el servidor. Con mySQL, esto se puede hacer actualizando my.cnf (o my.ini en mi caso con el servidor Wamp), y agregando una línea como:

log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]

Simplemente no ejecutes esto en producción!!!