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