#------------------------------------- # PACKAGE INFO package csDB; $VERSION = .6; use Exporter (); @ISA = qw(Exporter); @EXPORT_OK = qw(QueryDB SafeQuote SetLongLen GetLongLen $dbh); #------------------------------------- # PRAGMAS use lib 'f:/projects/site/bin/config/'; use strict; use utf8; #------------------------------------- # 3RD PARTY MODULES use DBI; #------------------------------------- # IN HOUSE MODULES use csConfig; use csLogs::Error; our $dbh; #========================================================================================================== # Database Connection BEGIN { $dbh = DBI->connect(csDBAuth()) or &csDie( class=>&csErrorClass('SERVER_DATABASE'),severity=>&csErrorScale('CRITICAL'), message=>'Could not connect to database server', debug=>$DBI::errstr ); } END { $dbh->disconnect(); } #========================================================================================================== # Basic query, returns a statement handle sub QueryDB { $dbh->{RaiseError}=0; $dbh->{PrintError}=0; my $qstring = $_[0]; my $dbquery= $dbh->prepare("$qstring") or &csDie( class=>&csErrorClass('CODE_DATABASE'),severity=>&csErrorScale('SEVERE'), message=>'Database Query Preparation Error', debug=>$DBI::errstr."\n$qstring" ); $dbquery->execute or &csDie( class=>&csErrorClass('CODE_DATABASE'),severity=>&csErrorScale('SEVERE'), message=>'Database Query Execution Error', debug=>$DBI::errstr."\n$qstring" ); $dbh->{RaiseError}=1; $dbh->{PrintError}=1; return ($dbquery); } ... more useful subs ... #---- 1;