Hi *.*.
Vorweg: Ich bin - zumindest was PHP und MySQL angeht - blutiger Anfänger und bin da gestern beim Ausprobieren auf etwas gestossen, wofür ich einfach gerne eine Erklärung hätte.
Zur Verdeutlichung folgender Code:
Leider verhält sich das Script nicht so, wie ich erwarten würde: Die äussere Schleife wird nur einmal durchlaufen, obwohl die Datenmenge mehr als einen Datensatz beinhalten müßte.
Stelle ich das ganze aber etwas um, so sieht es anders aus:
Nun werden beide Schleifen so oft durchlaufen, wie ich es vermuten würde. Ich frage mich nur, WARUM das so ist und - vor allem - ist das irgendwo dokumentiert?
Grüße und danke,
hotrs
Vorweg: Ich bin - zumindest was PHP und MySQL angeht - blutiger Anfänger und bin da gestern beim Ausprobieren auf etwas gestossen, wofür ich einfach gerne eine Erklärung hätte.
Zur Verdeutlichung folgender Code:
PHP:
mysql_connect(...);
mysql_select_db(...);
$result1 = mysql_query('SELECT * FROM table1');
$result2 = mysql_query('SELECT * FROM table2');
while ($row1 = mysql_fetch_object($result1))
{
// ...
while ($row2 = mysql_fetch_object($result2))
{
// ...
}
}
Leider verhält sich das Script nicht so, wie ich erwarten würde: Die äussere Schleife wird nur einmal durchlaufen, obwohl die Datenmenge mehr als einen Datensatz beinhalten müßte.
Stelle ich das ganze aber etwas um, so sieht es anders aus:
PHP:
mysql_connect(...);
mysql_select_db(...);
$result1 = mysql_query('SELECT * FROM table1');
while ($row1 = mysql_fetch_object($result1))
{
// ...
$result2 = mysql_query('SELECT * FROM table2'); // !!!
while ($row2 = mysql_fetch_object($result2))
{
// ...
}
}
Nun werden beide Schleifen so oft durchlaufen, wie ich es vermuten würde. Ich frage mich nur, WARUM das so ist und - vor allem - ist das irgendwo dokumentiert?
Grüße und danke,
hotrs