qui una spiegazione un pò più dettagliata di cosa succede con i prepared statement:

http://stackoverflow.com/questions/2...tabase-queries

nulla cmq ti vieta di debuggare le query eseguite dal database usando il sistema di log del db stesso

EDIT:

mi piace molto questo suggerimento:
The best thing you can do, for debugging purposes, is "re-construct" an "real" SQL query, by injecting the values into the SQL string of the statement.

What I usually do, in this kind of situations, is :

echo the SQL code that corresponds to the statement, with placeholders
and use var_dump (or an equivalent) just after, to display the values of the parameters
This is generally enough to see a possible error, even if you don't have any "real" query that you can execute.
fà molto Hibernate