Mailinglisten-Archive |
Hallo Theo, > ---------- > Von: Hans Theo Mislisch[SMTP:info_(at)_agathos.net] > > > Hast du davor nach dem mysql_query schon mal mysql_fetch_row() > > oder mysql_fetch_array aufgerufen ? Dann ist naemlich der erste > > Datensatz schon weg... > > Ja, das wars. Ich habe umgebaut und zuerst diese Abfrage mit > Schleife laufen lassen, jetzt gehts. > > Wieso verschluckt das erste mysql_fetch_row($result) einen Datensatz? > (diese Wissenslücke hat mich wohl 2 Std. gekostet) > Ein Query mit select ... stellt die Ergebnismenge bereit. Jedes mysql_fetch...() holt einen der Sätze der Ergebnismenge ab und setzt einen internen Zeiger auf den nächsten Satz der Ergebnismenge, egal ob das einmalig oder in einer Schleife passiert. Das ist genau das gleiche wenn du mit each aus einem Array Elemente holst, irgend- wann steht der Zeiger am letzten Element und du bekommst nichts mehr. bei Arrays musst du dann mit reset($array) den Zeiger wieder nach vorne positionieren. Bei MySQL kannst du den internen Zeiger mit mysql_data_seek auf einen bestimmten Datensatz der Ergebnismenge positionieren. Falls du mal sowas brauchst. Meist brauch mans net ;-) Viele Grüße, Mathias
php::bar PHP Wiki - Listenarchive