mysqli_stmt::bind_result
mysqli_stmt_bind_result
(PHP 5, PHP 7)
mysqli_stmt::bind_result -- mysqli_stmt_bind_result — Привязка переменных к подготовленному запросу для размещения результата
Описание
Объектно-ориентированный стиль
Процедурный стиль
Привязывает столбцы результирующего набора к переменным.
При вызове mysqli_stmt_fetch() для выборки данных, протокол
клиент-серверного взаимодействия MySQL помещает выбранные данные в переменные
var
/vars
, привязанные к столбцам результата выборки.
Замечание:
Следует заметить, что все столбцы должны быть привязаны к переменным после вызова mysqli_stmt_execute() и до вызова mysqli_stmt_fetch(). В зависимости от типов данных столбцов привязанные переменные могут неявно изменять свой PHP тип.
Столбцы можно привязывать и перепривязывать многократно, даже когда результирующий набор уже частично выбран. Новая привязка даст эффект при следующем вызове mysqli_stmt_fetch().
Список параметров
-
stmt
-
Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().
-
var
-
Привязываемая переменная.
-
vars
-
Остальные привязываемые переменные.
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Примеры
Пример #1 Объектно-ориентированный стиль
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
/* подготовка запроса */
if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
$stmt->execute();
/* привязка переменных к запросу */
$stmt->bind_result($col1, $col2);
/* выборка данных */
while ($stmt->fetch()) {
printf("%s %s\n", $col1, $col2);
}
/* закрываем запрос */
$stmt->close();
}
/* закрываем подключение */
$mysqli->close();
?>
Пример #2 Процедурный стиль
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* попытка подключения */
if (!$link) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
/* подготовка запроса */
if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
mysqli_stmt_execute($stmt);
/* привязка переменных к запросу */
mysqli_stmt_bind_result($stmt, $col1, $col2);
/* выборка данных */
while (mysqli_stmt_fetch($stmt)) {
printf("%s %s\n", $col1, $col2);
}
/* закрываем запрос */
mysqli_stmt_close($stmt);
}
/* закрываем подключение */
mysqli_close($link);
?>
Результат выполнения данных примеров:
AFG Afghanistan ALB Albania DZA Algeria ASM American Samoa AND Andorra
Смотрите также
- mysqli_stmt_get_result() - Получает результат из подготовленного запроса
- mysqli_stmt_bind_param() - Привязка переменных к параметрам подготавливаемого запроса
- mysqli_stmt_execute() - Выполняет подготовленный запрос
- mysqli_stmt_fetch() - Связывает результаты подготовленного выражения с переменными
- mysqli_prepare() - Подготавливает SQL выражение к выполнению
- mysqli_stmt_prepare() - Подготовка SQL-запроса к выполнению
- mysqli_stmt_init() - Инициализирует запрос и возвращает объект для использования в mysqli_stmt_prepare
- mysqli_stmt_errno() - Возвращает код ошибки выполнения последнего запроса
- mysqli_stmt_error() - Возвращает строку с пояснением последней ошибки при выполнении запроса