MYSQLI_STORE_RESULT(3) 1 MYSQLI_STORE_RESULT(3)
mysqli::store_result - Transfers a result set from the last query
Object oriented style
SYNOPSIS
mysqli_result mysqli::store_result ([int $option])
DESCRIPTION
Procedural style
mysqli_result mysqli_store_result ([int $option])
Transfers the result set from the last query on the database connection represented by the $link parameter to be used with the
mysqli_data_seek(3) function.
PARAMETERS
o $
link -Procedural style only: A link identifier returned by mysqli_connect(3) or mysqli_init(3)
o $option
- The option that you want to set. It can be one of the following values:
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 copy- |
| | ing 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 vari- |
| | ables holding results may be released earlier |
| | (available with mysqlnd only, since PHP 5.6.0) |
| | |
+------------------------------+---------------------------------------------------+
RETURN VALUES
Returns a buffered result object or FALSE if an error occurred.
Note
mysqli_store_result(3) returns FALSE in case the query didn't return a result set (if the query was, for example an INSERT state-
ment). 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(3) doesn't return an empty string, if mysqli_errno(3) returns a non zero value, or if mysqli_field_count(3) returns
a non zero value. Also possible reason for this function returning FALSE after successful call to mysqli_query(3) can be too large
result set (memory for it cannot be allocated). If mysqli_field_count(3) returns a non-zero value, the statement should have pro-
duced a non-empty result set.
NOTES
Note
Although it is always good practice to free the memory used by the result of a query using the mysqli_free_result(3) function, when
transferring large result sets using the mysqli_store_result(3) this becomes particularly important.
EXAMPLES
See mysqli_multi_query(3).
SEE ALSO
mysqli_real_query(3), mysqli_use_result(3).
PHP Documentation Group MYSQLI_STORE_RESULT(3)