|
sybase_fetch_assoc
Fetch a result row as an associative array
(PHP 4 >= 4.3.0, PHP 5)
sybase_fetch_assoc() is a version of sybase_fetch_row() that uses column names instead of integers for indices in the result array. Columns from different tables with the same names are returned as name, name1, name2, ..., nameN. An important thing to note is that using sybase_fetch_assoc() is NOT significantly slower than using sybase_fetch_row(), while it provides a significant added value. Return Values
Returns an array that corresponds to the fetched row, or Code Examples / Notes » sybase_fetch_assocelektrotechnik
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 Languagesybase_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 |