mysqli_stmt::store_result, mysqli_stmt_store_result


Description

Object oriented stylebool mysqli_stmt::store_result();

Procedural stylebool mysqli_stmt_store_result(mysqli_stmt stmt);

You must call mysqli_stmt_store_result for every query that successfully produces a result set (SELECT, SHOW, DESCRIBE, EXPLAIN), and only if you want to buffer the complete result set by the client, so that the subsequent mysqli_stmt_fetch call returns buffered data.Note

It is unnecessary to call mysqli_stmt_store_result for other queries, but if you do, it will not harm or cause any notable performance in all cases. You can detect whether the query produced a result set by checking if mysqli_stmt_result_metadata returns NULL.

Parameters

stmt

Procedural style only: A statement identifier returned by mysqli_stmt_init.

Return Values

Returns TRUE on success or FALSE on failure.

Examples

Example 20.173. Object oriented style

<?php
/* Open a connection */
$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 Name, CountryCode FROM City ORDER BY Name LIMIT 20';
if ($stmt = $mysqli->prepare($query)) {
 /* execute query */
 $stmt->execute();
 /* store result */
 $stmt->store_result();
 printf('Number of rows: %d.\n', $stmt->num_rows);
 /* free result */
 $stmt->free_result();
 /* close statement */
 $stmt->close();
}
/* close connection */
$mysqli->close();
?>

Example 20.174. Procedural style

<?php
/* Open a connection */
$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 Name, CountryCode FROM City ORDER BY Name LIMIT 20';
if ($stmt = mysqli_prepare($link, $query)) {
 /* execute query */
 mysqli_stmt_execute($stmt);
 /* store result */
 mysqli_stmt_store_result($stmt);
 printf('Number of rows: %d.\n', mysqli_stmt_num_rows($stmt));
 /* free result */
 mysqli_stmt_free_result($stmt);
 /* close statement */
 mysqli_stmt_close($stmt);
}
/* close connection */
mysqli_close($link);
?>

The above examples will output:

Number of rows: 20.

See Also

mysqli_prepare
mysqli_stmt_result_metadata
mysqli_stmt_fetch

Retornar