mysqli_stmt::get_result
mysqli_stmt_get_result
(PHP 5 >= 5.3.0, PHP 7)
mysqli_stmt::get_result -- mysqli_stmt_get_result — Получает результат из подготовленного запроса
Описание
Объектно-ориентированный стиль
Процедурный стиль
Получает результат из подготовленного запроса.
Список параметров
-
stmt
-
Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().
Возвращаемые значения
Возвращает результат для успешных запросов типа SELECT и false
для
любых запросов DML (INSERT, UPDATE, DELETE), либо в случае ошибки.
Для точного установления причины получения false
необходимо воспользоваться
функцией mysqli_errno().
Только для MySQL Native Driver
Доступно только с расширением mysqlnd.
Примеры
Пример #1 Объектно-ориентированный стиль
<?php
$mysqli = new mysqli("127.0.0.1", "user", "password", "world");
if($mysqli->connect_error)
{
die("$mysqli->connect_errno: $mysqli->connect_error");
}
$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";
$stmt = $mysqli->stmt_init();
if(!$stmt->prepare($query))
{
print "Ошибка подготовки запроса\n";
}
else
{
$stmt->bind_param("s", $continent);
$continent_array = array('Europe','Africa','Asia','North America');
foreach($continent_array as $continent)
{
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_array(MYSQLI_NUM))
{
foreach ($row as $r)
{
print "$r ";
}
print "\n";
}
}
}
$stmt->close();
$mysqli->close();
?>
Пример #2 Процедурный стиль
<?php
$link = mysqli_connect("127.0.0.1", "user", "password", "world");
if (!$link)
{
$error = mysqli_connect_error();
$errno = mysqli_connect_errno();
print "$errno: $error\n";
exit();
}
$query = "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";
$stmt = mysqli_stmt_init($link);
if(!mysqli_stmt_prepare($stmt, $query))
{
print "Ошибка подготовки запроса\n";
}
else
{
mysqli_stmt_bind_param($stmt, "s", $continent);
$continent_array = array('Europe','Africa','Asia','North America');
foreach($continent_array as $continent)
{
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
while ($row = mysqli_fetch_array($result, MYSQLI_NUM))
{
foreach ($row as $r)
{
print "$r ";
}
print "\n";
}
}
}
mysqli_stmt_close($stmt);
mysqli_close($link);
?>
Результат выполнения данных примеров:
Albania 3401200 Europe Algeria 31471000 Africa Afghanistan 22720000 Asia Anguilla 8000 North America
Смотрите также
- mysqli_prepare() - Подготавливает SQL выражение к выполнению
- mysqli_stmt_result_metadata() - Возвращает метаданные результирующей таблицы подготавливаемого запроса
- mysqli_stmt_fetch() - Связывает результаты подготовленного выражения с переменными
- mysqli_fetch_array() - Выбирает одну строку из результирующего набора и помещает ее в ассоциативный массив, обычный массив или в оба
- mysqli_stmt_store_result() - Передает результирующий набор запроса на клиента
- mysqli_errno() - Возвращает код ошибки последнего вызова функции