Copyright 1997-2022 the PHP Documentation Group.
mysqli::store_result
mysqli_store_result
Transfers a result set from the last query
Description
Object-oriented style
public mysqli_result|false mysqli::store_result(int mode= =0);
Procedural style
mysqli_result|false mysqli_store_result(mysqli mysql,
int mode= =0);
Transfers the result set from the last query on the database
connection represented by the mysql
parameter to be used with the
mysqli_data_seek
function.
Parameters
-
mysql
Procedural style only: A
mysqli
object returned bymysqli_connect
ormysqli_init
-
mode
The option that you want to set. It can be one of the following values:
Table 3.13 Valid options
Name Description MYSQLI_STORE_RESULT_COPY_DATA
Copy results from the internal mysqlnd buffer into the PHP variables fetched. By default, mysqlnd will use a reference logic to avoid copying and duplicating results held in memory. For certain result sets, for example, result sets with many small rows, the copy approach can reduce the overall memory usage because PHP variables holding results may be released earlier (available with mysqlnd only)
Return Values
Returns a buffered result object or false
if an error occurred.
mysqli_store_result
returns false
in case the query
didn't return a result set (if the query was, for example
an INSERT statement). This function also returns
false
if the reading of the result set
failed. You can check if you have got an error by checking if
mysqli_error
doesn't return an empty string, if
mysqli_errno
returns a non zero value, or if
mysqli_field_count
returns a non zero value. Also possible reason for this
function returning false
after successful
call to
mysqli_query
can be too large result set (memory for it cannot be
allocated). If
mysqli_field_count
returns a non-zero value, the statement should have produced a
non-empty result set.
Examples
See
mysqli_multi_query
.
Notes
Although it is always good practice to free the memory used by
the result of a query using the
mysqli_free_result
function, when transferring large result sets using the
mysqli_store_result
this becomes particularly important.
See Also
mysqli_real_query
|
mysqli_use_result
|