Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Sybase Functions : sybase_fetch_assoc

sybase_fetch_assoc

Fetch a result row as an associative array (PHP 4 >= 4.3.0, PHP 5)
array sybase_fetch_assoc ( resource result )


Code Examples / Notes » sybase_fetch_assoc

elektrotechnik

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


jpeterso

For users that want this function in other applications, use this function.  I have been using it for over a year with great success.
function sybase_fetch_assoc($query_result){
$row = sybase_fetch_array($query_result);
$values = "";
if(is_array($row))
{
while(list($key, $val) = each($row))
{
$values[$key] = $val;
}
}
return $values;
}


Change Language


Follow Navioo On Twitter
sybase_affected_rows
sybase_close
sybase_connect
sybase_data_seek
sybase_deadlock_retry_count
sybase_fetch_array
sybase_fetch_assoc
sybase_fetch_field
sybase_fetch_object
sybase_fetch_row
sybase_field_seek
sybase_free_result
sybase_get_last_message
sybase_min_client_severity
sybase_min_error_severity
sybase_min_message_severity
sybase_min_server_severity
sybase_num_fields
sybase_num_rows
sybase_pconnect
sybase_query
sybase_result
sybase_select_db
sybase_set_message_handler
sybase_unbuffered_query
eXTReMe Tracker