Получает результат из подготовленного запроса


mysqli_stmt_get_result

(PHP 5 >= 5.3.0)

mysqli_stmt::get_result -- mysqli_stmt_get_resultПолучает результат из подготовленного запроса

Описание

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

mysqli_result mysqli_stmt::get_result ( void )

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

mysqli_result mysqli_stmt_get_result ( mysqli_stmt $stmt )

Получает результат из подготовленного запроса.

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

stmt

Только для процедурного стиля: Идентификатор выражения, полученный с помощью mysqli_stmt_init().

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

Возвращает результат или FALSE в случае возникновения ошибки.

Только для 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($resultMYSQLI_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() - Передает результирующий набор запроса на клиента