Mysql
 sql >> Database >  >> RDS >> Mysql

In PHP con PDO, come controllare la query parametrizzata SQL finale?

Quindi penso che finalmente risponderò alla mia domanda per avere una soluzione completa per il record. Ma devo ringraziare Ben James e Kailash Badu che hanno fornito gli indizi per questo.

Risposta breve
Come menzionato da Ben James:NO .
La query SQL completa non esiste sul lato PHP, perché la query-with-token ei parametri vengono inviati separatamente al database. Solo sul lato database esiste la query completa.

Anche provare a creare una funzione per sostituire i token sul lato PHP non garantirebbe che il processo di sostituzione sia lo stesso di quello SQL (cose complicate come token-type, bindValue vs bindParam, ...)

Soluzione alternativa
Qui è dove elaboro la risposta di Kailash Badu. Registrando tutte le query SQL, possiamo vedere cosa viene realmente eseguito sul server. Con mySQL, questo può essere fatto aggiornando my.cnf (o my.ini in il mio caso con il server Wamp) e aggiungendo una riga come:

log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]

Non eseguirlo in produzione!!!