Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Em PHP com PDO, como verificar a consulta final parametrizada do SQL?


Então acho que finalmente responderei minha própria pergunta para ter uma solução completa para o registro. Mas tenho que agradecer a Ben James e Kailash Badu que forneceram as pistas para isso.

Resposta curta
Como mencionado por Ben James:NÃO .
A consulta SQL completa não existe no lado do PHP, porque a consulta com tokens e os parâmetros são enviados separadamente para o banco de dados. Somente no lado do banco de dados existe a consulta completa.

Mesmo tentar criar uma função para substituir tokens no lado do PHP não garantiria que o processo de substituição seja o mesmo que o SQL (coisas complicadas como tipo de token, bindValue vs bindParam, ...)

Solução
É aqui que elaboro a resposta de Kailash Badu. Ao registrar todas as consultas SQL, podemos ver o que realmente está sendo executado no servidor. Com o mySQL, isso pode ser feito atualizando o my.cnf (ou my.ini no meu caso com o servidor Wamp) e adicionando uma linha como:
log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]

Só não execute isso em produção!!!