(PHP 5, PHP 7, PHP 8)
mysqli_stmt::fetch -- mysqli_stmt_fetch — Fetch results from a prepared statement into the bound variables
Object-oriented style
Procedural style
Fetch the result from a prepared statement into the variables bound by mysqli_stmt_bind_result().
Note:
Note that all columns must be bound by the application before calling mysqli_stmt_fetch().
Note:
Data are transferred unbuffered without calling mysqli_stmt_store_result() which can decrease performance (but reduces memory cost).
statement
Procedural style only: A mysqli_stmt object returned by mysqli_stmt_init().
Value | Description |
---|---|
true | Success. Data has been fetched |
false | Error occurred |
null | No more rows/data exists or data truncation occurred |
If mysqli error reporting is enabled (MYSQLI_REPORT_ERROR
) and the requested operation fails, a warning is generated. If, in addition, the mode is set to MYSQLI_REPORT_STRICT
, a mysqli_sql_exception is thrown instead.
Example #1 Object-oriented style
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = $mysqli->prepare($query)) {
$stmt->execute();
$stmt->bind_result($name, $code);
while ($stmt->fetch()) {
printf ("%s (%s)\n", $name, $code);
}
$stmt->close();
}
$mysqli->close();
?>
Example #2 Procedural style
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$query = "SELECT Name, CountryCode FROM City ORDER by ID DESC LIMIT 150,5";
if ($stmt = mysqli_prepare($link, $query)) {
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $name, $code);
while (mysqli_stmt_fetch($stmt)) {
printf ("%s (%s)\n", $name, $code);
}
mysqli_stmt_close($stmt);
}
mysqli_close($link);
?>
The above examples will output:
Rockford (USA) Tallahassee (USA) Salinas (USA) Santa Clarita (USA) Springfield (USA)