Avatar billede lademan Novice
22. maj 2007 - 15:38 Der er 3 kommentarer og
1 løsning

Tjek om udtræk indeholder data

Hejsa

Hvordan tjekker jeg snedigst muligt, om min odbc_exec (eksemplificeret nedenfor) indeholder data (dvs true/ false)? Driveren understøtter ikke odbc_num_rows().

$result = odbc_exec($connection,"SELECT Artikel FROM tblArtikelType");


(Ps. jeg har tidligere stillet et beslægtet spørgsmål uden at få svar. Derfor har jeg i dette spørgsmål valgt at præcisere det konkrete problem.)
Avatar billede lademan Novice
22. maj 2007 - 18:04 #1
Er dette her en god løsning på mit problem med at kunne give en fejlmeddelelse, hvis udtrækket ikke indeholder data?:

$result = odbc_exec($connection,"SELECT * FROM test");
while (odbc_fetch_row($result)){
print  "<p>".odbc_result($result,"Tekst")."</p>";
}
if (!odbc_result($result,"ArtikelOverskrift")){
print "<p>Desværre ";
}
Avatar billede lademan Novice
22. maj 2007 - 19:38 #2
Eller er den her bedre?

$result = odbc_exec($connection,"SELECT * FROM test");     
if (odbc_fetch_row($result, 1)){ // Der findes ét eller flere resultater
    odbc_fetch_row($result, 0); // Gå tilbage til første række
    while (odbc_fetch_array($result)){
        ...
    }
}
Avatar billede lademan Novice
22. maj 2007 - 22:14 #3
.
Avatar billede lademan Novice
23. maj 2007 - 14:44 #4
Her er en optimal løsning til fri afbenyttelse for andre ODBC-brugere, der får brug for at tælle antallet af tilgængelige rows i et udtræk:

function countRows($sql, $con) {

    $var = explode("FROM", $sql);
    $str = "SELECT COUNT(*) FROM " . $var[1];

    $var = explode("GROUP", $str);
    $var = explode("ORDER", $var[0]);
    $str = $var[0];

    $count = odbc_exec($con, $str);
    odbc_fetch_row($count, 1);
    $rowcount = odbc_result($count, 1);
    odbc_free_result($count);

    return $rowcount;
    }
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
Computerworld tilbyder specialiserede kurser i database-management

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