Existe uma maneira de ver uma consulta preparada como ele será executado no banco de dados? [duplicado]

StackOverflow https://stackoverflow.com/questions/305179

  •  08-07-2019
  •  | 
  •  

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"
Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top