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

Опис

Об'єктно-орієнтований стиль

public mysqli_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 is transferred unbuffered without calling mysqli_stmt_store_result() which can decrease performance (but reduces memory cost).

Параметри

statement

Тільки процедурний стиль: об'єкт mysqli_stmt, якого повертає функція mysqli_stmt_init().

Значення, що повертаються

Значення, що повертаються
Value Description
true Success. Data has been fetched
false Error occurred
null No more rows/data exists or data truncation occurred

Помилки/виключення

Якщо увімкнені звіти про помилки mysqli (MYSQLI_REPORT_ERROR) і запитана операція не виконалась, буде виведено попередження, але якщо встановлено режим MYSQLI_REPORT_STRICT, буде викинуто виключення mysqli_sql_exception.

Приклади

Приклад #1 Об'єктно-орієнтований стиль

<?php
$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 ID DESC LIMIT 150,5";

if (
$stmt = $mysqli->prepare($query)) {

/* execute statement */
$stmt->execute();

/* bind result variables */
$stmt->bind_result($name, $code);

/* fetch values */
while ($stmt->fetch()) {
printf ("%s (%s)\n", $name, $code);
}

/* close statement */
$stmt->close();
}

/* close connection */
$mysqli->close();
?>

Приклад #2 Процедурний стиль

<?php
$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 ID DESC LIMIT 150,5";

if (
$stmt = mysqli_prepare($link, $query)) {

/* execute statement */
mysqli_stmt_execute($stmt);

/* bind result variables */
mysqli_stmt_bind_result($stmt, $name, $code);

/* fetch values */
while (mysqli_stmt_fetch($stmt)) {
printf ("%s (%s)\n", $name, $code);
}

/* close statement */
mysqli_stmt_close($stmt);
}

/* close connection */
mysqli_close($link);
?>

Подані вище приклади виведуть:

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

Прогляньте також