mysqli_use_result
(PHP 5)
mysqli_use_result
(no version information, might be only in CVS)
mysqli->use_result -- Initiate a result set retrieval
Description
Procedural style:
mixed
mysqli_use_result ( mysqli link )
Object oriented style (method):
class
mysqli {
mixed
use_result ( void )
}
mysqli_use_result() is used to initiate the retrieval
of a result set from the last query executed using the
mysqli_real_query() function on the database connection
specified by the link parameter. Either this or the
mysqli_store_result() function must be called before the
results of a query can be retrieved, and one or the other must be called
to prevent the next query on that database connection from failing.
注:
The mysqli_use_result() function does not transfer
the entire result set from the database and hence cannot be used functions
such as mysqli_data_seek() to move to a particular
row within the set. To use this functionality, the result set must be
stored using mysqli_store_result(). One should not
use mysqli_use_result() if a lot of processing on
the client side is performed, since this will tie up the server and
prevent other threads from updating any tables from which the data is
being fetched.
返回值
Returns an unbuffered result object or FALSE if an error occurred.
例
例子 1. Object oriented style
<?php $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); }
$query = "SELECT CURRENT_USER();"; $query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
/* execute multi query */ if ($mysqli->multi_query($query)) { do { /* store first result set */ if ($result = $mysqli->use_result()) { while ($row = $result->fetch_row()) { printf("%s\n", $row[0]); } $result->close(); } /* print divider */ if ($mysqli->more_results()) { printf("-----------------\n"); } } while ($mysqli->next_result()); }
/* close connection */ $mysqli->close(); ?>
|
|
例子 2. Procedural style
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); }
$query = "SELECT CURRENT_USER();"; $query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";
/* execute multi query */ if (mysqli_multi_query($link, $query)) { do { /* store first result set */ if ($result = mysqli_use_result($link)) { while ($row = mysqli_fetch_row($result)) { printf("%s\n", $row[0]); } mysqli_free_result($result); } /* print divider */ if (mysqli_more_results($link)) { printf("-----------------\n"); } } while (mysqli_next_result($link)); }
/* close connection */ mysqli_close($link); ?>
|
|
上例将输出:
my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer |