note 42169 added to function.sybase-fetch-assoc

From: Date: Thu, 06 May 2004 08:33:55 +0000
Subject: note 42169 added to function.sybase-fetch-assoc
Groups: php.notes 
Request: Send a blank email to php-notes+get-69269@lists.php.net to get a copy of this message
Very often you see constructs like this to loop thru a result set: while ($row = sybase_fetch_assoc($result)) { while (current($row)) // or while (current($row) != false) { $data = current($row); $key = key($row); // // do stuff here // next($row); } } Do not use it in this way! You have to write the inner while loop this way: while (current($row) !== false) If you just use while (current($row) != false) or while (current($row)) you could be in trouble and loose some data. In my case I had a query which contained the following statement: datediff(dd, date1, date2) as days Now if days computes to 0 then the two while loop examples from above will exit (because the 0 is 'seen' as false). Therefore you must use while (current($row) !== false) which will not exit if one of you data contains 0. Hth, rgds, Marcus ---- Manual Page -- http://www.php.net/manual/en/function.sybase-fetch-assoc.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+42169 Delete -- http://master.php.net/manage/user-notes.php?action=delete+42169&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+42169&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#69269) next »