Here's the test script that includes the helper subs. Yes I check for connection failures, whether I'm doing it the right way... #!/usr/bin/perl -w
use DBI;
my $dbh = connectpgdb('****','****','****','Pg','localhost');
my $n = getsqlvalue($dbh,"select count(*) from blog");
print $n;
sub connectpgdb { # this is used to connect with DBD::Pg
my ($database,$user,$password,$driver,$server) = @_;
my $url;
unless ($driver) {
$driver = "Pg";
}
unless ($server) {
$url = "DBI:$driver:dbname=$database;host=localhost";
}
else {
$url = "DBI:$driver:dbname=$database;host=$server;port=54
+32";
}
unless ($user) {
$user = "****";
$password = "****";
}
my $dbh = DBI->connect( $url, $user, $password,{AutoCommit=>1,Rais
+eError=>1,PrintError=>1}) or die "connectdb can't connect to psql: $!
+\n";
return $dbh;
}
sub getsqlvalue {
my @results = ();
my ($dbh,$sqlstatement)= @_;
my $sth = $dbh->prepare($sqlstatement);
my @row;
$sth->execute || die "Could not execute MySQL statement: $sqlstate
+ment";
while (@row=$sth->fetchrow_array) { push(@results, [ @row ]); }
$sth->finish();
return $results[0][0];
}
|