Existe uma maneira de ver uma consulta preparada como ele será executado no banco de dados? [duplicado]
Pergunta
Duplicate possíveis:
DOP declarações preparadas
Eu estou usando a extensão mysqli em PHP e eu estou querendo saber, não é mesmo, possivelmente, alguma maneira de ver uma consulta preparada como ele será executado no servidor, por exemplo, A consulta é algo como isto
select * from table1 where id = ? and name = ?
mas eu quero ver a consulta depois de os valores serem preenchidos, como este:
select * from table1 where id = 20 and name = "John"
Solução
Duplicate de DOP declarações preparadas
Resposta curta: não. A consulta preparada nunca será convertido para a consulta que você espera. É executado diretamente pelo servidor de banco de dados. Você pode usar log consulta de mysql ou debugDumpParams
função não documentada do DOP, mas ambos são apenas aproximações.
Outras dicas
mysql query logging e vai registrar todas as consultas para um arquivo de texto para você rever.
Veja-lo onde? Se é o seu código que você tem a consulta e você tem os parâmetros preparados, registrá-los separadamente ou substituir na string de consulta original. Se a ligação falhará você obterá um erro, caso contrário, você deve esperar os mesmos valores a serem "cheios", em que você especificou-los.
É a maneira na maioria das vezes eu estou depuração quires mysql:
$ q = "SELECT * FROM table1, onde id =" $ id "e name =" $ nome...; echo $ q;
A saída gera todas as variáveis ??atribuídas à consulta.
Hope entendi exatamente, o que queria.