   #PHP Manual Sybase functions sybase_set_message_handler tidy Functions

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                            sybase_unbuffered_query

   (PHP 4 >= 4.3.0)
   sybase_unbuffered_query -- Send a Sybase query and do not block

Description

   resource sybase_unbuffered_query ( string query, resource
   link_identifier)

   Returns a positive Sybase result identifier on success, or FALSE on
   error.

   sybase_unbuffered_query() sends a query to the currently active
   database on the server that's associated with the specified link
   identifier. If the link identifier isn't specified, the last opened
   link is assumed. If no link is open, the function tries to establish a
   link as if sybase_connect() was called, and use it.

   Unlike sybase_query(), sybase_unbuffered_query() reads only the first
   row of the result set. sybase_fetch_array() and similar function read
   more rows as needed. sybase_data_seek() reads up to the target row.
   The behavior may produce better performance for large result sets.

   sybase_num_rows() will only return the correct number of rows if all
   result sets have been read. To Sybase, the number of rows is not known
   and is therefore computed by the client implementation.

     Note: If you don't read all of the resultsets prior to executing
     the next query, PHP will raise a warning and cancel all of the
     pending results. To get rid of this, use sybase_free_result() which
     will cancel pending results of an unbuffered query.

   The optional store_result can be FALSE to indicate the resultsets
   shouldn't be fetched into memory, thus minimizing memory usage which
   is particularly interesting with very large resultsets.

   Example 1. sybase_unbuffered_query() example
   <?php
          $dbh= sybase_connect('SYBASE', '', '');
          $q= sybase_unbuffered_query('select firstname, lastname from
   huge_table', $dbh, false);
          sybase_data_seek($q, 10000);
          $i= 0;
          while ($row= sybase_fetch_row($q)) {
                  echo $row[0] . ' ' . $row[0];
                  if ($i++ > 40000) break;
          }
          sybase_free_result($q);
          sybase_close($dbh);
   ?>
   ______________________________________________________________________

   Prev                       Home           Next
   sybase_set_message_handler  Up  tidy Functions
