mysqli_stmt::get_result

mysqli_stmt_get_result

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt::get_result -- mysqli_stmt_get_resultObtiene un conjunto de resultados de una sentencia preparada

Descripción

Estilo orientado a objetos

mysqli_stmt::get_result ( void ) : mysqli_result

Estilo por procedimientos

mysqli_stmt_get_result ( mysqli_stmt $stmt ) : mysqli_result

Es llamada para devolver un conjunto de resultados de una consulta de sentencia preparada.

Parámetros

stmt

Sólo estilo por procediminetos: Un identificador de declaraciones devuelto por mysqli_stmt_init().

Valores devueltos

Devuelve un conjunto de resultados para consultas SELECT select, o FALSE para otras consultas DML o en caso de fallo. La función mysqli_errno() se puede emplear para distinguir entre dos tipos de fallo.

Solo Controlador Nativo de MySQL

Disponible sólo con mysqlnd.

Ejemplos

Ejemplo #1 Estilo orientado a objetos

<?php 

$mysqli 
= new mysqli("127.0.0.1""usuario""contraseña""world"); 

if(
$mysqli->connect_error)
{
    die(
"$mysqli->connect_errno$mysqli->connect_error");
}

$consulta "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$sentencia $mysqli->stmt_init();
if(!
$sentencia->prepare($consulta))
{
    print 
"Falló la preparación de la sentencia\n";
}
else
{
    
$sentencia->bind_param("s"$continente);

    
$array_continentes = array('Europe','Africa','Asia','North America');

    foreach(
$array_continentes as $continente)
    {
        
$sentencia->execute();
        
$resultado $sentencia->get_result();
        while (
$fila $resultado->fetch_array(MYSQLI_NUM))
        {
            foreach (
$fila as $f)
            {
                print 
"$f ";
            }
            print 
"\n";
        }
    }
}

$sentencia->close();
$mysqli->close();
?>

Ejemplo #2 Estilo por procedimientos

<?php 

$enlace 
mysqli_connect("127.0.0.1""usuario""contraseña""world"); 

if (!
$enlace)
{
    
$error mysqli_connect_error();
    
$errno mysqli_connect_errno();
    print 
"$errno$error\n";
    exit();
}

$consulta "SELECT Name, Population, Continent FROM Country WHERE Continent=? ORDER BY Name LIMIT 1";

$sentencia mysqli_stmt_init($enlace);
if(!
mysqli_stmt_prepare($sentencia$consulta))
{
    print 
"Falló la preparación de la sentencia\n";
}
else
{
    
mysqli_stmt_bind_param($stmt"s"$continente);

    
$array_continentes = array('Europe','Africa','Asia','North America');

    foreach(
$array_continentes as $continente)
    {
        
mysqli_stmt_execute($sentencia);
        
$resultado mysqli_stmt_get_result($sentencia);
        while (
$fila mysqli_fetch_array($resultadoMYSQLI_NUM))
        {
            foreach (
$fila as $f)
            {
                print 
"$f ";
            }
            print 
"\n";
        }
    }
}
mysqli_stmt_close($sentencia);
mysqli_close($enlace);
?>

El resultado de los ejemplos sería:

Albania 3401200 Europe 
Algeria 31471000 Africa 
Afghanistan 22720000 Asia 
Anguilla 8000 North America 

Ver también