Problemer med databasekald
Jeg har følgende kode som laver et par kald til en Accessdatabase:&dbopen;
$SQL = "SELECT * FROM epost WHERE epost='$epost'";
$st = $dbh->prepare($SQL);
$st->execute || die "Feil ved databasetilgang!";
if ($row=$st->fetchrow_hashref) {
$epostid = $row->{id};
}
$SQL = "SELECT * FROM mailliste ORDER BY navn DESC";
$st = $dbh->prepare($SQL);
$st->execute || die "Feil ved databasetilgang!";
while ($row=$st->fetchrow_hashref) {
@verdi = ($row->{id}, @verdi);
$label{$row->{id}} = $row->{navn};
}
&dbclose;
&dbopen og &dbclose ser sådan ud:
sub dbopen {
use DBI;
$dbh = DBI->connect('dbi:ODBC:ref228uio');
}
sub dbclose {
$rh = $dbh->disconnect();
}
Nogen gange går eksekveringen af koden helt fint, og jeg får det ønskede resultat. Men tit virker det som om serveren "hænger". Der sker ingenting og det virker som om det er databasekaldene der er problemer med.
Er det noget jeg kan gøre for at optimalisere koden, eller bør jeg ændre noget?