Adding logging DBI errors if in Debug Mode
authorHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Sun, 25 Oct 2009 05:28:37 +0000 (06:28 +0100)
committerHenri-Damien LAURENT <henridamien.laurent@biblibre.com>
Mon, 26 Oct 2009 14:34:33 +0000 (15:34 +0100)
C4/SQLHelper.pm

index bf241d1..7ee3c70 100644 (file)
@@ -120,7 +120,8 @@ sub SearchInTable{
      
     $debug && $values && warn $sql," ",join(",",@$values); 
     $sth = $dbh->prepare_cached($sql); 
-    $sth->execute(@$values); 
+    eval{$sth->execute(@$values)}; 
+       warn $@ if ($@ && $debug);
     my $results = $sth->fetchall_arrayref( {} ); 
     return $results;
 }
@@ -145,7 +146,8 @@ sub InsertInTable{
 
        $debug && warn $query, join(",",@$values);
     my $sth = $dbh->prepare_cached($query);
-    $sth->execute( @$values);
+    eval{$sth->execute(@$values)}; 
+       warn $@ if ($@ && $debug);
 
        return $dbh->last_insert_id(undef, undef, $tablename, undef);
 }
@@ -175,8 +177,10 @@ sub UpdateInTable{
        $debug && warn $query, join(",",@$values,@ids);
 
     my $sth = $dbh->prepare_cached($query);
-    return $sth->execute( @$values,@ids);
-
+       my $result;
+    eval{$result=$sth->execute(@$values,@ids)}; 
+       warn $@ if ($@ && $debug);
+    return $result;
 }
 
 =head2 DeleteInTable
@@ -201,7 +205,10 @@ sub DeleteInTable{
                };
                $debug && warn $query, join(",",@$values);
                my $sth = $dbh->prepare_cached($query);
-       return $sth->execute( @$values);
+               my $result;
+       eval{$result=$sth->execute(@$values)}; 
+               warn $@ if ($@ && $debug);
+       return $result;
        }
 }