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.
mysql_field_seek
(PHP 4, PHP 5, PECL mysql:1.0)
mysql_field_seek — 특정 필드의 오프셋으로 결과 포인터를 이동
설명
bool mysql_field_seek
( resource $result
, int $field_offset
)
특정 필드 오프셋으로 탐색한다. 필드 오프셋을 포함하지 않는 mysql_fetch_field() 이후에 호출하면, mysql_field_seek()에서 반환된 값으로 지정될 것이다.
매개변수
- result
-
mysql_query() 호출을 통한 결과 resource.
- field_offset
-
The numerical field offset. The field_offset starts at 0. If field_offset does not exist, an error of level E_WARNING is also issued.
mysql_field_seek
adrien dot gibrat at gmail dot com
04-Oct-2008 01:12
04-Oct-2008 01:12
chris at igwsolutions dot com
25-Apr-2008 03:23
25-Apr-2008 03:23
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>";
?>
Hassan Kazem
10-Jan-2008 10:34
10-Jan-2008 10:34
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
poulpillusion at free dot fr
17-Apr-2007 07:44
17-Apr-2007 07:44
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)
