MySQL and PHP
Copyright 1997-2021 the PHP Documentation Group.
mysqli_stmt::get_result
mysqli_stmt_get_result
Gets a result set from a prepared statement
Object oriented style
public mysqli_result mysqli_stmt::get_result();
Procedural style
mysqli_result mysqli_stmt_get_result(mysqli_stmt stmt);
Call to return a result set from a prepared statement query.
stmt
Procedural style only: A statement identifier returned
by
mysqli_stmt_init
.
Returns a resultset for successful SELECT queries, or
false
for other DML queries or on failure.
The
mysqli_errno
function can be used to distinguish between the two types of
failure.
Available only with mysqlnd.
Example 3.90 Object oriented style
<?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 "Failed to prepare statement\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(); ?>
Example 3.91 Procedural style
<?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 "Failed to prepare statement\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); ?>
The above examples will output:
Albania 3401200 Europe Algeria 31471000 Africa Afghanistan 22720000 Asia Anguilla 8000 North America
mysqli_prepare
|
mysqli_stmt_result_metadata
|
mysqli_stmt_fetch
|
mysqli_fetch_array
|
mysqli_stmt_store_result
|
mysqli_errno
|