首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

mysqli_stmt::get_result

(PHP 5 >= 5.3.0, PHP 7)

mysqli_stmt :: get_result - mysqli_stmt_get_result - 从预处理语句中获取结果集

描述

面向对象的风格

代码语言:javascript
复制
mysqli_result mysqli_stmt::get_result ( void )

程序风格

代码语言:javascript
复制
mysqli_result mysqli_stmt_get_result ( mysqli_stmt $stmt )

调用以从预处理语句查询中返回结果集。

参数

代码语言:txt
复制
`stmt`   

仅过程风格:由mysqli_stmt_init()返回的语句标识符。

返回值

为成功的SELECT查询或FALSE其他DML查询或失败返回结果集。mysqli_errno()函数可用于区分这两种类型的故障。

仅限MySQL本地驱动程序

仅适用于mysqlnd

例子

Example #1 Object oriented style

代码语言:javascript
复制
<?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

代码语言:javascript
复制
<?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);
?>

上面的例子会输出:

代码语言:javascript
复制
Albania 3401200 Europe 
Algeria 31471000 Africa 
Afghanistan 22720000 Asia 
Anguilla 8000 North America 

扫码关注腾讯云开发者

领取腾讯云代金券