(PHP 5, PHP 7, PHP 8)
mysqli_stmt::fetch -- mysqli_stmt_fetch — Связывает результаты подготовленного запроса с переменными
Объектно-ориентированный стиль
Процедурный стиль
Функция связывает результаты подготовленного выражения с переменными, которые определили функцией 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)