25. februar 2009 - 23:46Der er
9 kommentarer og 1 løsning
mysql_fetch_assoc kan kun kaldes én gang pr. query
Hej,
jeg er lige løbet ind i et problem hvor jeg kan have brug for at kalde mysql_fetch_row/assoc på den samme query flere gange, men det ser ikke ud til at det kan lade sig gøre.
Første gang det kaldes så virker det fint, men anden gang tager funktionen ikke effekt. Hvis jeg printer det giver det første "array" og de resterende gange bare resource id'et.
Hvordan kan det være det kun kan kaldes én gang på hver query og er der nogen måde at komme uden om det på?
Jeg kom op med en ret simpel løsning der bygger på at oprette et eksternt array med outputtet fra mysql_fetch_array og så bare hive det igennem hver gang, men jeg kunne stadigvæk godt tænke mig at høre hvorfor mysql_fetch_array/assoc/row virker sådan og om der er nogen lettere måde at gøre det på:
når jeg normalt kalder mysql_fetch_array så bruger jeg en while løkke ja, men i det jeg er igang med at lave ender jeg op med at jeg gerne vil kører flere forskellige while løkker på forskellige tidspunkter, men med den samme query og det ser ikke ud til at være muligt.
Nå, så er der vel ikke andet at gøre end at bruge den lappeløsning. Alt er godt - det kan jo være nogen andre med samme problem finder denne tråd og er fri for at søge google tyndt før de finder ud af at det ikke er muligt at gøre på en pæn måde.
Der er ikke nogen pæn måde fordi man skal huske hvad et query resultat er. Et query resultat (med mysql_unbuffered_query !) er en stream af data der modtages fra serveren. Man kan ikke spole tilbage i denne stream uden at involvere serveren.
man kan jo også bruge mysql_result() i en forløkke
Synes godt om
Ny brugerNybegynder
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.