Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
PHP5 list mit mysql_fetch_row läuft ewig [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
PHP5 list mit mysql_fetch_row läuft ewig


 
thommyk
18-11-2005, 18:29 
 
Hatte das Problem, das ein Skript nach der Migration auf PHP5 in einer Endlosschleife lief.
Hab dann festgestellt, dass folgendes Konstruct schuld war:

$result = mysql_query($sql);
while (list($portalId, $PortalName) = mysql_fetch_row($result) {
.....
.....
} //end while

Anscheinend liefert diese list-Konstruktion KEIN false und bricht nicht ab.

Habs dann folgendermassen gelöst:
while ($Data = mysql_fetch_row($result) {
list($portalId, $PortalName) = $Data;
.....
.....
} //end while
Das funzt dann wieder einwandfrei. So ganz versteh ich´s noch nicht.

Hab aber in der php5-Doku NICHTS dazu gefunden, auch nicht hier im Forum. Hat das schon jemand anderes festegestellt?
Und wenn ja, gibts noch ne bessere Lösung als meine?

 
schmalle
19-11-2005, 10:50 
 
Und wenn ja, gibts noch ne bessere Lösung als meine? Ja! Auf den unsinn mit List verzichten, und einfach mit dem Array arbeiten.

 
thommyk
21-11-2005, 12:42 
 
list ist aber dann schön praktisch, wenn man nur wenige Felder im Ergebnis hat und dann mit einzelnen Variablen weiterarbeiten möchte anstatt immer mit $Data['index']. Bin halt manchmal schreibfaul.

Wollte ja auch nur wissen, ob das sonst noch jemand bestätigen kann oder ob es irgendwie an mir liegt (Konfiguration, was weiss ich), dass PHP5 sich aufhängt.


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:40 Uhr.