PHP mysql_data_seek()関数

定義と用法

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);
?>

出力:

配列
(
[0] => アダムズ
[1] => ジョン
[2] => ロンドン
)
配列
(
[0] => カーター
[1] => テオドア
[2] => 北京
)