mysqli_stmt::get_result
mysqli_stmt::get_result
mysqli_stmt_get_result
(PHP 5 >= 5.3.0, PHP 7)
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()返回的语句标识符。
返回值
为成功的SELECT查询或FALSE
其他DML查询或失败返回结果集。mysqli_errno()函数可用于区分这两种类型的故障。
仅限MySQL本地驱动程序
仅适用于mysqlnd。
例子
Example #1 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 #2 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
?>
上面的例子会输出:
Albania 3401200 Europe
Algeria 31471000 Africa
Afghanistan 22720000 Asia
Anguilla 8000 North America