mysqli_stmt::fetch

mysqli_stmt_fetch

(PHP 5, PHP 7, PHP 8)

mysqli_stmt::fetch -- mysqli_stmt_fetchСвязывает результаты подготовленного запроса с переменными

Описание

Объектно-ориентированный стиль

public mysqli_stmt::fetch(): ?bool

Процедурный стиль

mysqli_stmt_fetch(mysqli_stmt $statement): ?bool

Функция связывает результаты подготовленного выражения с переменными, которые определили функцией mysqli_stmt_bind_result().

Замечание:

Обратите внимание, что каждый столбец требуется связать перед вызовом функции mysqli_stmt_fetch().

Замечание:

Функция не буферизует данные при передаче без вызова функции mysqli_stmt_store_result(), что снижает производительность (но также снижает затраты памяти).

Список параметров

stmt

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

Возвращаемые значения

Возвращаемые значения
Значение Описание
true Успех. Функция получила данные
false Возникла ошибка
null Больше нет строк и данных или возникло усечение данных

Ошибки

Если уведомления об ошибках mysqli включены (MYSQLI_REPORT_ERROR) и запрошенная операция не удалась, выдаётся предупреждение. Если, кроме того, установлен режим MYSQLI_REPORT_STRICT, вместо этого будет выброшено исключение mysqli_sql_exception.

Примеры

Пример #1 Объектно-ориентированный стиль

<?php

$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

/* Проверяем соединение */
if (mysqli_connect_errno()) {
printf("Попытка соединения не удалась: %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("Попытка соединения не удалась: %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)

Смотрите также

  • mysqli_prepare() - Подготавливает SQL выражение к выполнению
  • mysqli_stmt_errno() - Возвращает код ошибки выполнения последнего запроса
  • mysqli_stmt_error() - Возвращает строку с пояснением последней ошибки при выполнении запроса
  • mysqli_stmt_bind_result() - Привязка переменных к подготовленному запросу для размещения результата