mysql_fetch_field
(PHP 4, PHP 5)
mysql_fetch_field — Obtiene la información de una columna de un resultado y la devuelve como un objeto
Esta extensión está obsoleta a partir de PHP 5.5.0, y será eliminada en el futuro. Deberían utilizarse en su lugar las extensiones MySQLi o PDO_MySQL. Véase también la guía MySQL: elegir una API y P+F relacionadas para más información. Las alternativas a esta función incluyen:
Descripción
$result
[, int $field_offset = 0
] )Devuelve un objeto que contiene la información de los campos. Esta función puede ser usada para obtener información sobre campos en el resultado de la consulta proporcionada.
Parámetros
-
result -
El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().
-
field_offset -
El índice numérico del campo. Si el índice del campo no se especifica, se recuperará el siguiente campo que aún no haya recuperado esta función. Los índices de
field_offsetcomienzan en 0.
Valores devueltos
Devuelve un object que contiene la información del campo. Las propiedades del objeto son:
- name - nombre de la columna
- table - nombre de la tabla a la que pertenece la columna, el cual es el sobrenombre si alguno está definido
- max_length - longitud máxima de la columna
-
not_null - 1 si la columna no puede ser
NULL - primary_key - 1 si la columna es una clave primaria
- unique_key - 1 si la columna es una clave única
- multiple_key - 1 si la colmuna es una clave no única
- numeric - 1 si la columna es numérica
- blob - 1 si la columna es un BLOB
- type - el tipo de la columna
- unsigned - 1 si la columna es sin signo
- zerofill - 1 si la columna es rellena de ceros
Ejemplos
Ejemplo #1 Ejemplo de mysql_fetch_field()
<?php
$conexión = mysql_connect('localhost', 'usuario_mysql', 'contraseña_mysql');
if (!$conexión) {
die('No se pudo conectar: ' . mysql_error());
}
mysql_select_db('basedatos');
$resultado = mysql_query('select * from table');
if (!$resultado) {
die('Falló la consulta: ' . mysql_error());
}
/* obtener los metadatos de la columna */
$i = 0;
while ($i < mysql_num_fields($resultado)) {
echo "Información de la columna $i:<br />\n";
$metadatos = mysql_fetch_field($resultado, $i);
if (!$metadatos) {
echo "No hay información disponible<br />\n";
}
echo "<pre>
blob: $metadatos->blob
max_length: $metadatos->max_length
multiple_key: $metadatos->multiple_key
name: $metadatos->name
not_null: $metadatos->not_null
numeric: $metadatos->numeric
primary_key: $metadatos->primary_key
table: $metadatos->table
type: $metadatos->type
unique_key: $metadatos->unique_key
unsigned: $metadatos->unsigned
zerofill: $metadatos->zerofill
</pre>";
$i++;
}
mysql_free_result($resultado);
?>
Notas
Nota: Los nombres de los campos devueltos por esta función son sensibles a mayúsculas y minúsculas.
Nota:
Si se usa un alias para los campos o los nombres de tablas en la consulta SQL se devolverá el nombre del alias. El nombre original se puede recuperar, por ejemplo, usando mysqli_result::fetch_field().
Ver también
- mysql_field_seek() - Establece el puntero del resultado en un índice de campo específicado