mysqli_stmt::data_seek
(mysqli_stmt_data_seek)寻找语句结果集中的任意行
适用PHP版本:PHP 5及以上版本
函数说明:该函数用于将结果集指针移动到指定的行,以便可以访问该行的数据。它适用于从数据库中查询结果时,如果你需要重新访问之前的结果行,可以使用此函数。
函数语法:
mysqli_stmt::data_seek(int $offset): bool
参数:
返回值:如果成功,返回布尔值 true;如果失败,返回 false。
示例:
<?php // 创建一个mysqli连接 $mysqli = new mysqli("localhost", "username", "password", "database"); <p>// 检查连接<br> if ($mysqli->connect_error) {<br> die("连接失败: " . $mysqli->connect_error);<br> }</p> <p>// 执行查询<br> $query = "SELECT id, name FROM users";<br> $stmt = $mysqli->prepare($query);<br> $stmt->execute();</p> <p>// 获取结果<br> $stmt->store_result();</p> <p>// 使用data_seek移动指针到第二行(索引为1)<br> $stmt->data_seek(1);</p> <p>// 绑定结果变量<br> $stmt->bind_result($id, $name);</p> <p>// 获取数据<br> if ($stmt->fetch()) {<br> echo "ID: $id, Name: $name\n";<br> }</p> <p>// 关闭语句和连接<br> $stmt->close();<br> $mysqli->close();<br> ?><br>
示例代码的说明:
在此示例中,首先我们创建了一个mysqli连接并执行了一个查询,返回一个用户表(users)中的所有记录。通过调用$stmt->store_result(),我们将结果集存储到内存中,之后通过调用$stmt->data_seek(1),我们将结果指针移动到第二行(索引为1)。接着,使用$stmt->bind_result()绑定查询结果到变量,然后通过$stmt->fetch()获取并显示该行数据。