Avatar billede lajer Nybegynder
12. december 2003 - 23:04 Der er 5 kommentarer og
1 løsning

return mysql_fetch_array, giver uendeligt loop

Hey.

Jeg vil lave en metode der retunere mysql_fetch_array.

Something like this:

function Test()
{
    $query = mysql_query("SELECT * FROM tabel");
    return mysql_fetch_array( $query );
}

Nu vil jeg så loope alle records igennem:

Allá:

$records = $Object->Test();
while( $rs = $records )
{
  // Code
}

Dette giver imidlertidigt et uendeligt loop!?

Hvordan kan det være?

Jeg har midlertigt rettet det, ved at loope alle records i metoden og så returne et array. - Men det er overkill, som jeg ikke er meget for.

// Lajer
Avatar billede jakoba Nybegynder
12. december 2003 - 23:17 #1
Hvad med at gemme dit resultatsæt som en variabel indeni det objekt:

function Test()
{
    $this->$resultatset = mysql_query("SELECT * FROM tabel");
}

    return mysql_fetch_array( $this->$resultatset );

$Object->Test();        // returnerer ingenting, laver blot det resultatsæt i $Object
while( $rs = mysql_fetch_array( $Object->$resultatset ) )  // hent en for en fra resultatsættet
{
  // Code
}
Avatar billede jakoba Nybegynder
12. december 2003 - 23:20 #2
Ups.  jeg glemte at slette linien:
    return mysql_fetch_array( $this->$resultatset );
Avatar billede lajer Nybegynder
12. december 2003 - 23:20 #3
Jo det var selvfølgelig en mulighed, jeg vil pussle lidt med idéen i hvert fald.

Men jeg var mere nysgerrig for hvorfor det andet ikke virker?
Avatar billede jakoba Nybegynder
12. december 2003 - 23:27 #4
fordi du kun kalder  mysql_fetch_array() een eneste gang. den række det funktionskald henter bliver så givet til variablen $records. og der bliver den liggende.

du bruger $records somom det var et kald til en funktion, men det er kun en variabel.
Avatar billede lajer Nybegynder
12. december 2003 - 23:30 #5
Makes sence.

Lig et svar, så for du point.
Avatar billede jakoba Nybegynder
12. december 2003 - 23:36 #6
ok. takker
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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