use-result
mysqli::use_result
mysqli_use_result
Initiate a result set retrieval
ENTITY
ENTITY
public
mysqli_result
false
mysqli::use_result
ENTITY
mysqli_result
false
mysqli_use_result
mysqli
mysql
Used to initiate the retrieval of a result set from the last query executed using the mysqli_real_query function on the database connection.
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.
[!NOTE] The
mysqli_use_resultfunction does not transfer the entire result set from the database and hence cannot be used with functions such asmysqli_data_seekto move to a particular row within the set. To use this functionality, the result set must be stored usingmysqli_store_result. One should not usemysqli_use_resultif 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.
ENTITY ENTITY
ENTITY
Returns an unbuffered result object or ENTITY if an error occurred.
ENTITY ENTITY
ENTITY
mysqli::use_result example
ENTITY
<?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();
?>
ENTITY
<?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);
?>
ENTITY
my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer
ENTITY
mysqli_real_query, mysqli_store_result
谢谢你的反馈!