mysqli_stmt::get_result
(mysqli_stmt_get_result)从预准备语句中获取结果集
PHP 5.3.0及以上版本。
mysqli_stmt::get_result是MySQLi扩展的一个方法,用于从已准备的语句中获取结果集。此方法通过执行一个已准备好的SQL查询,返回一个结果集对象,可以进一步用于处理查询结果。
mysqli_result mysqli_stmt::get_result();
此方法没有参数。
返回一个mysqli_result对象,该对象表示查询的结果集。如果没有结果集或发生错误,返回false。
以下是使用mysqli_stmt::get_result获取结果集并处理的示例代码:
<?php // 创建数据库连接 $mysqli = new mysqli("localhost", "username", "password", "database"); <p>// 检查连接是否成功<br> if ($mysqli->connect_error) {<br> die("连接失败: " . $mysqli->connect_error);<br> }</p> <p>// 准备一个SQL语句<br> $query = "SELECT id, name FROM users WHERE age > ?";<br> $stmt = $mysqli->prepare($query);</p> <p>// 绑定参数<br> $age = 18;<br> $stmt->bind_param("i", $age);</p> <p>// 执行语句<br> $stmt->execute();</p> <p>// 获取结果集<br> $result = $stmt->get_result();</p> <p>// 遍历结果并输出<br> while ($row = $result->fetch_assoc()) {<br> echo "ID: " . $row['id'] . " - Name: " . $row['name'] . "<br>";<br> }</p> <p>// 关闭语句和连接<br> $stmt->close();<br> $mysqli->close();<br> ?><br>
1. 代码首先建立一个到MySQL数据库的连接。
2. 使用$mysqli->prepare()准备一条查询语句,其中使用了一个占位符(问号)。
3. 通过$stmt->bind_param()绑定参数,即将年龄($age)绑定到SQL语句中的占位符。
4. 调用$stmt->execute()执行查询。
5. 使用$stmt->get_result()获取查询结果并存储在$result中。
6. 通过fetch_assoc()方法遍历结果集,并输出每个用户的ID和姓名。
7. 最后关闭数据库连接。