mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seekSet result pointer to a specified field offset

Warning

This extension is deprecated as of PHP 5.5.0, and will be removed in the future. Instead, the MySQLi or PDO_MySQL extension should be used. See also MySQL: choosing an API guide and related FAQ for more information. Alternatives to this function include:

說明

bool mysql_field_seek ( resource $result , int $field_offset )

Seeks to the specified field offset. If the next call to mysql_fetch_field() doesn't include a field offset, the field offset specified in mysql_field_seek() will be returned.

參數

result

回傳類型為 resource 的結果集。該結果集從 mysql_query() 的呼叫中得到。

field_offset

數字形式的欄位偏移量。field_offset 開始於 0。如果 field_offset 不存在,系統會發出 E_WARNING 級別的警告信息。

回傳值

如果成功則回傳 TRUE,失敗則回傳 FALSE

參見

add a note add a note

User Contributed Notes 4 notes

up
1
adrien dot gibrat at gmail dot com
15 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.
up
-1
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>";
?>
up
-1
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)
up
-4
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
To Top