Log query bei der Verwendung von prepared statements

Kommentieren Dec 27 2024 .txt, .json, .md

Bei der Verwendung von Platzhaltern und deren Werten als prepared statement kann man auch ohne die Verwendung von extra Modulen wie DBI-Log sich das verwendete query ausgeben lassen.

sub queryLog {
    my ($query) = @_;
    say $query->{Statement};
    say "$_ $query->{ParamValues}{$_}" for (keys %{$query->{ParamValues}});
}

Das Besondere daran ist die Ausgabe der Werte die das Statement übergeben werden, diese sind nur über den loop und keys einsehbar.