mysqli_stmt::fetch

mysqli_stmt_fetch

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::fetch -- mysqli_stmt_fetchFetch results from a prepared statement into the bound variables

说明

面向对象风格

publicmysqli_stmt::fetch(): ?bool

过程化风格

mysqli_stmt_fetch(mysqli_stmt$statement): ?bool

Fetch the result from a prepared statement into the variables bound by mysqli_stmt_bind_result().

注意:

Note that all columns must be bound by the application before calling mysqli_stmt_fetch().

注意:

Data are transferred unbuffered without calling mysqli_stmt_store_result() which can decrease performance (but reduces memory cost).

参数

statement

仅以过程化样式:由 mysqli_stmt_init() 返回的 mysqli_stmt 对象。

返回值

返回值
ValueDescription
trueSuccess. Data has been fetched
falseError occurred
nullNo 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.

示例

示例 #1 面向对象风格

<?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();
?>

示例 #2 过程化风格

<?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);
?>

以上示例会输出:

Rockford (USA) Tallahassee (USA) Salinas (USA) Santa Clarita (USA) Springfield (USA)

参见

To Top