Wed, 21 Jan 2009

DBI boilerplate code

I keep writing code to talk to databases in perl and I'm forever forgetting the correct runes for talking to databases, so I thought I'd stick it here for easy reference.

use DBI;

my $db_driver = "Pg" # Pg or mysql (or others)
my $db_name = "database";
my $db_host = "localhost";
my $db_user = "username";
my $db_pass = "password";


my $dbh = DBI->connect("dbi:$db_driver:dbname=$db_name;host=$db_host", 
   $db_user, $db_pass);

It's probably handy to give an example of a common database read operation

my $sth = $dbh->prepare( "SELECT * FROM table WHERE id  = ?") 
      or die $dbh->errstr;

$sth->execute($id) or die $dbh->errstr;

while (my $hashref = $sth->fetchrow_hashref) {
   print $hashref->{id};
}
[perl DBI] | # Read Comments (1) |

Comments

You might find this link useful too, it lets you store credentials externally in a simple manner:

http://www.perlmonks.org/?node_id=519337
Posted by Steve Kemp at Wed Jan 21 23:29:31 2009

Name:


E-mail:


URL:


Comment:


Please enter "fudge" to prove you are a human