mysqli_stmt::get_result

mysqli_stmt_get_result

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

mysqli_stmt::get_result -- mysqli_stmt_get_resultRécupère un jeu de résultats depuis une requête préparée en tant qu'objet mysqli_result

Description

Style orienté objet

public mysqli_stmt::get_result(): mysqli_result|false

Style procédural

mysqli_stmt_get_result(mysqli_stmt $statement): mysqli_result|false

Récupère un jeu de résultats d'une déclaration préparée sous la forme d'un objet mysqli_result. Les données seront récupérées depuis le serveur MySQL vers PHP. Cette méthode ne doit être appelée que pour les requêtes qui produisent un ensemble de résultats.

Note:

Disponible uniquement avec mysqlnd.

Note:

Cette fonction ne peut pas être utilisée conjointement avec la mysqli_stmt_store_result(). Ces deux fonctions récupèrent le jeu de résultats complet du serveur MySQL.

Liste de paramètres

statement

Style procédural uniquement : Un objet mysqli_stmt 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.

Exemples

Exemple #1 Style orienté objet

<?php

mysqli_report
(MYSQLI_REPORT_ERROR MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost""my_user""my_password""world");

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

$stmt $mysqli->prepare($query);
$stmt->bind_param("s"$continent);

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

foreach (
$continentList as $continent) {
    
$stmt->execute();
    
$result $stmt->get_result();
    while (
$row $result->fetch_array(MYSQLI_NUM)) {
        foreach (
$row as $r) {
            print 
"$r ";
        }
        print 
"\n";
    }
}
?>

Exemple #2 Style procédural

<?php 

mysqli_report
(MYSQLI_REPORT_ERROR MYSQLI_REPORT_STRICT);
$link mysqli_connect("localhost""my_user""my_password""world");

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

$stmt mysqli_prepare($link$query);
mysqli_stmt_bind_param($stmt"s"$continent);

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

foreach (
$continentList 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";
    }
}
?>

Les exemples ci-dessus vont afficher quelque chose de similaire à :

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

Voir aussi