Connessione al databse
use DBI;
$dbh = DBI->connect('DBI:mysql:databasename', 'username', 'password') || die "non posso connettermi al database: $DBI::errstr";
# (qui ci va la query da eseguire...)
$dbh->disconnect();
Connettersi ad un database su un altro host
$dbh = DBI->connect('DBI:mysql:databasename;host=db.example.com', 'username', 'password',
{ RaiseError => 1 }
);
Query di esempio
$dbh->do('CREATE TABLE exmpl_tbl (id INT, val VARCHAR(100))');
$dbh->do('INSERT INTO exmpl_tbl VALUES(1, ?)', undef, 'Hello');
$dbh->do('INSERT INTO exmpl_tbl VALUES(2, ?)', undef, 'World');
$c = $dbh->do('DELETE FROM exmpl_tbl WHERE id=1');
print "Cancellate $c rows\n";$sth = $dbh->prepare('SELECT val FROM exmpl_tbl WHERE id=1');
$sth->execute();
$result = $sth->fetchrow_hashref();
print "Valore: $result->{val}\n";
Query utilizzando placeholders
$sth = $dbh->prepare('SELECT id FROM exmpl_tbl WHERE val=?',
undef, 'Mondo');
@result = $sth->fetchrow_array();
print "ID Mondo $result[0]\n";
Execute e fetch in un solo comando
$sth = $dbh->prepare('SELECT * FROM exmpl_tbl');
$results = $dbh->selectall_hashref('SELECT * FROM exmpl_tbl', 'id');
foreach my $id (keys %$results) {
print "Valore ID $id è $results->{$id}->{val}\n";
}