復制代碼 代碼如下:
<?
// Start snipit 1
$sql = "SELECT * from <table>";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result)) {
// do stuff with $row
}
mysql_data_seek($result, 0); //關鍵是這兒
while ($row = mysql_fetch_assoc($result)) {
// do other stuff with $row
}
?>
定義和用法
mysql_data_seek() 函數移動內部結果的指針。
語法
mysql_data_seek(data,row)參數 描述
data 必需。返回類型為 resource 的結果集。該結果集從 mysql_query() 的調用中得到。
row 必需。想要設定的新的結果集指針的行數。0 指示第一個記錄。
說明
mysql_data_seek() 將 data 參數指定的 MySQL 結果內部的行指針移動到指定的行號。
接著調用 mysql_fetch_row() 將返回那一行。
row 從 0 開始。row 的取值范圍應該從 0 到 mysql_num_rows - 1。
但是如果結果集為空(mysql_num_rows() == 0),要將指針移動到 0 會失敗並發出 E_WARNING 級的錯誤,mysql_data_seek() 將返回 false。
返回值
如果成功則返回 true,失敗則返回 false。
提示和注釋
注釋:mysql_data_seek() 只能和 mysql_query() 一起使用,而不能用於 mysql_unbuffered_query()。
例子
復制代碼 代碼如下:
<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db("test_db",$con);
$sql = "SELECT * from Person";
$result = mysql_query($sql,$con);
print_r(mysql_fetch_row($result));
mysql_data_seek($result,3);
print_r(mysql_fetch_row($result));
mysql_close($con);
?>
輸出:
復制代碼 代碼如下:
Array
(
[0] => Adams
[1] => John
[2] => London
)
Array
(
[0] => Carter
[1] => Thomas
[2] => Beijing
)