mysqli_result::data_seek()
(PHP 5, PHP 7)
Adjusts the result pointer to an arbitrary row in the result
说明
面向对象风格
mysqli_result::data_seek(int $offset): bool
过程化风格
mysqli_data_seek(mysqli_result$result,int $offset): bool
The mysqli_data_seek() function seeks to an arbitrary result pointer specified by the$offsetin the result set.
参数
- $result
仅以过程化样式:由mysqli_query(),mysqli_store_result()或mysqli_use_result()返回的结果集标识。
- $offset
The field offset. Must be between zero and the total number of rows minus one(0..mysqli_num_rows() 1).
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
注释
Note:This function can only be used with buffered results attained from the use of the mysqli_store_result() or mysqli_query() functions.
范例
Example #1 面向对象风格
<?php /* Open a connection */ $mysqli = new mysqli("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $query = "SELECT Name, CountryCode FROM City ORDER BY Name"; if ($result = $mysqli->query($query)) { /* seek to row no. 400 */ $result->data_seek(399); /* fetch row */ $row = $result->fetch_row(); printf ("City: %s Countrycode: %s\n", $row[0], $row[1]); /* free result set*/ $result->close(); } /* close connection */ $mysqli->close(); ?>
Example #2 过程化风格
<?php /* Open a connection */ $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (!$link) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } $query = "SELECT Name, CountryCode FROM City ORDER BY Name"; if ($result = mysqli_query($link, $query)) { /* seek to row no. 400 */ mysqli_data_seek($result, 399); /* fetch row */ $row = mysqli_fetch_row($result); printf ("City: %s Countrycode: %s\n", $row[0], $row[1]); /* free result set*/ mysqli_free_result($result); } /* close connection */ mysqli_close($link); ?>
以上例程会输出:
City: Benin City Countrycode: NGA
参见
- mysqli_store_result() 转移上一次查询返回的结果集
- mysqli_fetch_row() Get a result row as an enumerated array
- mysqli_fetch_array() Fetch a result row as an associative, a numeric array, or both
- mysqli_fetch_assoc() Fetch a result row as an associative array
- mysqli_fetch_object() Returns the current row of a result set as an object
- mysqli_query() 对数据库执行一次查询
- mysqli_num_rows() Gets the number of rows in a result
This is useful function when you try to loop through the resultset numerous times. For example: <?php $result = mysqli_query($connection_id,$query); while ($row = mysqli_fetch_assoc($result)) { // Looping through the resultset. } // Now if you need to loop through it again, you would first call the seek function: mysqli_data_seek($result,0); while ($row = mysqli_fetch_assoc($result)) { // Looping through the resultset again. } ?>