mysql_field_seek
(PHP 4, PHP 5)
mysql_field_seek — 結果ポインタを指定したフィールドオフセットにセットする
警告
この拡張モジュールは PHP 5.5.0 で非推奨になり、PHP 7.0.0 で削除されました。 MySQLi あるいは PDO_MySQL を使うべきです。詳細な情報は MySQL: API の選択 を参照ください。 この関数の代替として、これらが使えます。
- mysqli_field_seek()
-
PDOStatement::fetch() で
cursor_orientation
パラメータおよびoffset
パラメータを使う
説明
指定したフィールドオフセットに移動します。 mysql_field_seek() をコールした後、 mysql_fetch_field() をフィールドオフセットを付けずに コールした場合、このフィールドが返されます。
パラメータ
result
評価された結果 リソース。この結果は、mysql_query() のコールにより得られたものです。
field_offset
数値フィールドオフセット。
field_offset
は0
から始まります。field_offset
が存在しない場合、E_WARNING
レベルのエラーが発行されます。
+add a note
User Contributed Notes 4 notes
adrien dot gibrat at gmail dot com ¶
16 years ago
Not dumb at all!!
It means that "mysql_field_seek" and "mysql_data_seek" are moving the same cursor... through the rows and columns of the result resource.
Also means that the cursor goes to a new row when it reach a final field(aka column), by exemple while looping with "mysql_fetch_field".
Calling "mysql_fetch_object", "mysql_fetch_array", "mysql_fetch_assoc"
and "mysql_fetch_row" seems to place the cursor at the end of the line.
So calling "mysql_fetch_field" without a field index, just after that, will return false.
chris at igwsolutions dot com ¶
16 years ago
I spent a good deal of time trying to get the example to work, but the example does not work.
To do what the exaple is trying to do, you would need to use mysql_data_seek
assume we have table named testing which contains
id name
1 Hassan
2 Jack
3 Rose
---------------
Here is an expample that will do the above example.
Since I am more comfortable in a OOP setting, I used mysql_fetch_object
<?php
require("myConnenctionFile.php");
$sql="SELECT * from testing";
$result=mysql_query($sql);
$row = mysql_fetch_object($result);
echo $row->id . ' ' . $row->name; // Output is (1 Hassan)
mysql_data_seek($result,2);
$row = mysql_fetch_object($result);
echo $row->id . ' ' . $row->name; // Output is (3 Rose)
echo "<BR><BR>";
?>
poulpillusion at free dot fr ¶
17 years ago
A dumb comment... but it may save people some time :
mysql_field_seek != mysql_data_seek
In order to fetch again the results of a resource result from the beginning, you will use mysql_data_seek(id, 0)
Hassan Kazem ¶
16 years ago
an example of this function
assume we have table1 which contains
ID Name
1 Hassan
2 Jack
3 Rose
---------------
<?php
mysql_connect("sql.server.com", "username", "password") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
$sql="SELECT * from table1";
$result=mysql_query($sql);
$row = mysql_fetch_array($result);
echo $row['ID'] . ' ' . $row['Name']; // Output is (1 Hassan)
mysql_field_seek($result,2);
echo $row['ID'] . ' ' . $row['Name']; // Output is (3 Rose)
?>
---------------
// You can see that the seek command forwarded the pointer one step and skipped row number 2
↑ and ↓ to navigate •
Enter to select •
Esc to close
Press Enter without
selection to search using Google