From d1f932ad48cf69e11e55d10d65fb6c5e528ea55e Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Wed, 20 May 2009 15:37:08 +0000 Subject: [PATCH] =?utf8?q?Die=20R=C3=BCckgabewerte=20der=20Funktionen=20DB?= =?utf8?q?I::do=20und=20DBH::execute=20zur=C3=BCckgeben.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/DBUtils.pm | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/SL/DBUtils.pm b/SL/DBUtils.pm index 1e87e3d0c..df4c5ac93 100644 --- a/SL/DBUtils.pm +++ b/SL/DBUtils.pm @@ -37,14 +37,16 @@ sub do_query { dump_query(LXDebug::QUERY, '', $query, @_); + my $result; if (0 == scalar(@_)) { - $dbh->do($query) || $form->dberror($query); + $result = $dbh->do($query) || $form->dberror($query); } else { - $dbh->do($query, undef, @_) || - $form->dberror($query . " (" . join(", ", @_) . ")"); + $result = $dbh->do($query, undef, @_) || $form->dberror($query . " (" . join(", ", @_) . ")"); } $main::lxdebug->leave_sub(2); + + return $result; } sub selectrow_query { &selectfirst_array_query } @@ -56,13 +58,16 @@ sub do_statement { dump_query(LXDebug::QUERY, '', $query, @_); + my $result; if (0 == scalar(@_)) { - $sth->execute() || $form->dberror($query); + $result = $sth->execute() || $form->dberror($query); } else { - $sth->execute(@_) || $form->dberror($query . " (" . join(", ", @_) . ")"); + $result = $sth->execute(@_) || $form->dberror($query . " (" . join(", ", @_) . ")"); } $main::lxdebug->leave_sub(2); + + return $result; } sub dump_query { @@ -337,10 +342,14 @@ Returns 'NULL' if STR is empty. Uses DBI::do to execute QUERY on DBH using ARRAY for binding values. FORM is only needed for error handling, but should always be passed nevertheless. Use this for insertions or updates that don't need to be prepared. +Returns the result of DBI::do which is -1 in case of an error and the number of affected rows otherwise. + =item do_statement FORM,STH,QUERY,ARRAY Uses DBI::execute to execute QUERY on DBH using ARRAY for binding values. As with do_query, FORM is only used for error handling. If you are unsure what to use, refer to the documentation of DBI::do and DBI::execute. +Returns the result of DBI::execute which is -1 in case of an error and the number of affected rows otherwise. + =item prepare_execute_query FORM,DBH,QUERY,ARRAY Prepares and executes QUERY on DBH using DBI::prepare and DBI::execute. ARRAY is passed as binding values to execute. -- 2.20.1