PHP Conference Nagoya 2025

mysql_field_seek

(PHP 4, PHP 5)

mysql_field_seekEstablece el puntero del resultado en un índice de campo específicado

Advertencia

Esta extensión fue declarada obsoleta en PHP 5.5.0 y eliminada en PHP 7.0.0. En su lugar debería utilzarse las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API. Las alternativas a esta función son:

Descripción

mysql_field_seek(resource $result, int $field_offset): bool

Busca el índice del campo especificado. Si la siguiente llamada a mysql_fetch_field() no incluye un índice de campo, será devuelto el índice del campo especificado en mysql_field_seek().

Parámetros

result

El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().

field_offset

El número del campo a buscar. El valor de field_offset comienza en 0. Si field_offset no existe, un error de nivel E_WARNING es emitido.

Valores devueltos

Devuelve true en caso de éxito o false en caso de error.

Ver también

  • mysql_fetch_field() - Obtiene la información de una columna de un resultado y la devuelve como un objeto

add a note

User Contributed Notes 4 notes

up
1
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.
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
-3
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