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
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com