sql >> Database >  >> RDS >> Mysql

Hoe controleer je in PHP met PDO de uiteindelijke SQL-geparametreerde query?

Dus ik denk dat ik eindelijk mijn eigen vraag zal beantwoorden om een ​​volledige oplossing voor de goede orde te hebben. Maar moet Ben James en Kailash Badu bedanken die hiervoor de aanwijzingen hebben gegeven.

Kort antwoord
Zoals genoemd door Ben James:NEE .
De volledige SQL-query bestaat niet aan de PHP-kant, omdat de query-met-tokens en de parameters afzonderlijk naar de database worden verzonden.Alleen aan de database-kant bestaat de volledige query.

Zelfs het proberen om een ​​functie te creëren om tokens aan de PHP-kant te vervangen, zou niet garanderen dat het vervangingsproces hetzelfde is als het SQL-proces (lastige dingen zoals token-type, bindValue vs bindParam, ...)

Oplossing
Hier ga ik in op het antwoord van Kailash Badu. Door alle SQL-query's te loggen, kunnen we zien wat er echt op de server wordt uitgevoerd. Met mySQL kan dit worden gedaan door de my.cnf (of my.ini in mijn geval met Wamp-server), en een regel toevoegen zoals:

log=[REPLACE_BY_PATH]/[REPLACE_BY_FILE_NAME]

Voer dit gewoon niet in productie!!!



  1. Monitoring &Ops Management van MySQL 8.0 met ClusterControl

  2. Functie om mediaan te berekenen in SQL Server

  3. Jaren toevoegen aan een datum in PostgreSQL

  4. Geaggregeerde functie in een SQL-updatequery?