SunshinePHP Developer Conference 2015

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seek Setzt den Ergebniszeiger auf ein bestimmtes Feldoffset

Warnung

Diese Erweiterung ist seit PHP 5.5.0 als veraltet markiert und wird in der Zukunft entfernt werden. Verwenden Sie stattdessen die Erweiterungen MySQLi oder PDO_MySQL. Weitere Informationen finden Sie im Ratgeber MySQL: Auswahl einer API und den zugehörigen FAQ. Alternativen zu dieser Funktion umfassen:

Beschreibung

bool mysql_field_seek ( resource $result , int $field_offset )

Setzt den Feldzeiger auf den angegeben Feldoffset. Wird beim nächsten Aufruf von mysql_fetch_field() kein Feldoffset übergeben, wird der Feldoffset zurückgeliefert, der bei mysql_field_seek() angegeben wurde.

Parameter-Liste

Ergebnis

Das Ergebnis Ressource, das ausgewertet wird. Dieses Ergebnis kommt von einem Aufruf von mysql_query().

Feldoffset

Der numerische Offset des Feldes. Der Feldoffset beginnt bei 0. Falls Feldoffset nicht existiert, wird eine Warnung der Stufe E_WARNING erzeugt.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

add a note add a note

User Contributed Notes 4 notes

up
0
adrien dot gibrat at gmail dot com
6 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
0
chris at igwsolutions dot com
6 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
0
poulpillusion at free dot fr
7 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
-3
Hassan Kazem
6 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