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