http://qs321.pair.com?node_id=1144723


in reply to DBI.pm: composing and debugging MySql placeholders

Look at DBIx-Log4perl or DBIx-LogAny for a way to get placeholders from the statement handle e.g., ParamValues and ParamTypes. Both of those modules can log SQL and placeholders. Look at DBI callbacks and you can intercept the execute and do methods.

If you actually want to recreate the SQL with the placeholders in place that is slightly more difficult but not impossible

  • Comment on Re: DBI.pm: composing and debugging MySql placeholders

Replies are listed 'Best First'.
Re^2: DBI.pm: composing and debugging MySql placeholders
by LanX (Sage) on Oct 13, 2015 at 17:45 UTC
    > If you actually want to recreate the SQL with the placeholders in place that is slightly more difficult but not impossible

    Well automatically constructing the following should be straight forward, (though I'm not sure about namespaces in SQL, but for cut and paste this should be irrelevant)

    PREPARE stmt1 FROM 'SELECT * FROM t_user_portal WHERE f_client = ?'; SET @client = 'lanx'; EXECUTE stmt1 USING @client;

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!