©
This document uses PHP Chinese website manual Release
(PHP 5)
mysqli_result::data_seek -- mysqli_data_seek — Adjusts the result pointer to an arbitrary row in the result
面向对象风格
$offset
)过程化风格
$result
, int $offset
)
The mysqli_data_seek() function seeks to an arbitrary
result pointer specified by the offset
in 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
$mysqli = new mysqli ( "localhost" , "my_user" , "my_password" , "world" );
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 )) {
$result -> data_seek ( 399 );
$row = $result -> fetch_row ();
printf ( "City: %s Countrycode: %s\n" , $row [ 0 ], $row [ 1 ]);
$result -> close ();
}
$mysqli -> close ();
?>
Example #2 过程化风格
<?php
$link = mysqli_connect ( "localhost" , "my_user" , "my_password" , "world" );
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 )) {
mysqli_data_seek ( $result , 399 );
$row = mysqli_fetch_row ( $result );
printf ( "City: %s Countrycode: %s\n" , $row [ 0 ], $row [ 1 ]);
mysqli_free_result ( $result );
}
mysqli_close ( $link );
?>
以上例程会输出:
City: Benin City Countrycode: NGA
[#1] kaisellgren at gmail dot com [2008-09-09 12:07:54]
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.
}
?>