Prepared statements debuggen? Zet je query log aan!

Prepared statements zijn mooie dingen, maar debuggen is niet zo fraai. Als je door je code stapt met xdebug kom je er al gauw achter dat je niet hele query terug kunt zien.

Je ziet alleen de query met placeholders.

De makkelijkste oplossing is je query-log aan te zetten in je database. Hiermee worden alle queries gelogd die de database uitvoert.

LET OP: Doe dit niet op een productieserver! Dit zorgt voor erg veel logging namelijk!

In MySQL:

mysql> SET global general_log_file='/tmp/mysql.log'; 
mysql> SET global general_log=on; 
mysql> SET global log_output='file';

Om makkelijk te kopiƫren:

SET global general_log_file=’/tmp/mysql.log’;
SET global general_log=on;
SET global log_output=’file’;

Vervolgens kun je de logfile tailen om al je queries te zien.

Nu weet je wat er daadwerkelijk gebeurt!

$ tail -f /tmp/mysql.log

XAMPP

Let op: gebruik je XAMPP, daar staat de logging standaard uit. Voer daarvoor het volgende commando uit en vervolgens vind je je logfile in c:\xampp\mysql\data

SET GLOBAL general_log = 'ON';

Click Here to Leave a Comment Below

Leave a Reply: