Avatar billede sb Nybegynder
17. november 2002 - 17:54 Der er 2 kommentarer og
1 løsning

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?
Avatar billede outofmemory Nybegynder
18. november 2002 - 22:49 #1
hej,
jeg vil i hvert fald anbefale dig at kalde die med $DBI->errstr i din dbopen procedure - kan måske være det
Avatar billede sb Nybegynder
19. november 2002 - 12:02 #2
Tak for tipset.

Tror hele problemet lå i Access. Jeg har nu byttet til MySQL og det virker som det skal.

Kom med et svar, så får du nogle poeng.
Avatar billede outofmemory Nybegynder
19. november 2002 - 12:33 #3
noget bedre valg ;)
takker for points...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester