函数名:mysqli_stmt::fetch()
适用版本:PHP 5, PHP 7
用法:该函数用于从准备好的语句中获取结果集中的下一行。它将返回一个布尔值,表示是否成功获取了下一行。
语法:mysqli_stmt::fetch(int $resulttype = MYSQLI_BOTH) : mixed
参数:
- $resulttype(可选):指定返回结果的类型。默认值为MYSQLI_BOTH,表示同时返回关联和索引数组。可选值有:
- MYSQLI_ASSOC:仅返回关联数组
- MYSQLI_NUM:仅返回索引数组
- MYSQLI_BOTH:同时返回关联和索引数组
返回值:如果成功获取到下一行,则返回一个数组或NULL。如果没有更多的行可供获取,则返回NULL。
示例:
// 假设已经建立了数据库连接,并且准备好了一个语句对象$stmt
// 执行语句
$stmt->execute();
// 绑定结果集
$stmt->bind_result($column1, $column2);
// 获取结果集的下一行数据
while ($stmt->fetch()) {
echo "Column 1: " . $column1 . "<br>";
echo "Column 2: " . $column2 . "<br>";
}
// 关闭语句
$stmt->close();
在上面的示例中,我们首先执行了准备好的语句对象$stmt的execute()方法来执行语句。然后,使用bind_result()方法绑定结果集中的列到变量$column1和$column2。接下来,通过循环调用fetch()方法来获取结果集的每一行数据,然后输出到屏幕上。
请注意,fetch()方法将结果集的下一行数据存储在绑定的变量中,并且每次循环迭代时,会自动将结果集指针移动到下一行。当没有更多的行可供获取时,fetch()方法将返回NULL,循环将结束。最后,我们关闭了语句对象$stmt。
以上示例仅用于演示fetch()方法的基本用法,实际应用中可能需要根据具体需求进行适当的调整。