mysqli_stmt::get_result

mysqli_stmt_get_result

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt::get_result -- mysqli_stmt_get_resultRécupère un jeu de résultats depuis une requête préparée

Description

Style orienté objet

public mysqli_stmt::get_result ( ) : mysqli_result

Style procédural

mysqli_stmt_get_result ( mysqli_stmt $stmt ) : mysqli_result

Récupère un jeu de résultats depuis une requête préparée.

Liste de paramètres

stmt

Style procédural uniquement : Un identifiant de requête retourné par la fonction mysqli_stmt_init().

Valeurs de retour

Retourne un jeu de résultats pour les requêtes SELECT réussies, ou false pour d'autres requêtes DML ou en cas d'échec. La fonction mysqli_errno() peut être utilisé pour distinguer entre ces deux types d'erreurs. Retourne false en cas d'échec. Pour des requêtes réussites qui produisent un jeu de résultat tel que SELECT, SHOW, DESCRIBE ou EXPLAIN, mysqli_stmt_get_result() retournera un objet mysqli_result. Pour les autres types de requêtes ayant réussi, mysqli_stmt_get_result() retournera false. La fonction mysqli_stmt_errno() peut être utilisé pour distinguer entre les deux raisons pour false ; à cause d'un bogue, antérieur à PHP 7.4.13, mysqli_errno() devait être utilisé pour déterminer ceci.

Driver MySQL Natif uniquement

Disponible uniquement avec mysqlnd.

Exemples

Exemple #1 Style orienté objet

<?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 
"Échec lors de la préparation de la requête\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();
?>

Exemple #2 Style procédural

<?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 
"Échec lors de la préparation de la requête\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);
?>

Les exemples ci-dessus vont afficher :

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

Voir aussi