(PHP 4, PHP 5)
mysql_fetch_field — Obtém informações de coluna de um resultado e retorna como um objeto
Esta extensão foi descontinuada a partir do PHP 5.5.0 e foi removida no PHP 7.0.0. Em vez disso, as extensões MySQLi ou PDO_MySQL devem ser usadas. Veja também o guia MySQL: escolhendo uma API. Alternativas a esta função incluem:
Retorna um objeto contendo informações sobre campo. Esta função pode ser usada para obter informações sobre campos no resultado de consulta informado.
resultO resource do resultado que está sendo avaliado. Este resultado vem de uma chamada a mysql_query().
field_offset
O índice numérico do campo. Se o índice não for especificado, o
próximo campo que ainda não tenha sido obtido por esta função é recuperado.
field_offset inicia em 0.
Retorna um object contendo informação sobre o campo. As propriedades do objeto são:
name - nome da coluna
table - a tabela à qual o objeto pertence, que é o nome do apelido se um estiver definido
max_length - comprimento máximo da coluna
not_null - 1 se a coluna não puder ser null
primary_key - 1 se a coluna for uma chave primária
unique_key - 1 se a coluna for uma chave exclusiva
multiple_key - 1 se a coluna for uma chave não-exclusiva
numeric - 1 se a coluna for numérica
blob - 1 se a coluna for um BLOB
type - o tipo da coluna
unsigned - 1 se a coluna for sem sinal
zerofill - 1 se a coluna for prenchida com zero
Exemplo #1 Exemplo de mysql_fetch_field()
<?php
$conn = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$conn) {
die('Não foi possível conectar: ' . mysql_error());
}
mysql_select_db('database');
$result = mysql_query('select * from table');
if (!$result) {
die('A consulta falhou: ' . mysql_error());
}
/* Obtém as informações da coluna */
$i = 0;
while ($i < mysql_num_fields($result)) {
echo "Informação para a coluna $i:<br />\n";
$meta = mysql_fetch_field($result, $i);
if (!$meta) {
echo "Sem informação disponível<br />\n";
}
echo "<pre>
blob: $meta->blob
max_length: $meta->max_length
multiple_key: $meta->multiple_key
name: $meta->name
not_null: $meta->not_null
numeric: $meta->numeric
primary_key: $meta->primary_key
table: $meta->table
type: $meta->type
unique_key: $meta->unique_key
unsigned: $meta->unsigned
zerofill: $meta->zerofill
</pre>";
$i++;
}
mysql_free_result($result);
?>Nota:
Os nomes de campos retornados por esta função diferenciam maiúsculas e minúsculas.
Nota:
Se campos ou nomes de tabelas forem apelidados na consulta SQL, o nome do apelido será retornado. O nome original pode ser recuperado, por exemplo, usando mysqli_result::fetch_field().