PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

mysqli_fetch_field> <mysqli_fetch_assoc
Last updated: Fri, 14 Nov 2008

view this page in

mysqli_fetch_field_direct

result->fetch_field_direct

(PHP 5)

mysqli_fetch_field_direct -- result->fetch_field_direct Obtem meta dados para um único campo

Descrição

Estilo de procedimento:

mixed mysqli_fetch_field_direct ( object $result , int $fieldnr )

Estilo orientado a objeto (metodo):

result
mixed fetch_field_direct ( int $fieldnr )

mysqli_fetch_field_direct() retorna um objeto o qual contém informações da definição de um campo do conjunto de resultados especificado. O valor de fieldnr deve estar no intervalo entre 0 e número de campos - 1.

Valores de retorno

Retorna um objeto o qual contém informações das definições de um campo ou FALSE se não houver informações sobre o campo especificado com fieldnr disponíveis.

Atributos do objeto
Atibuto Descrição
name O nome da coluna
orgname Nome original da coluna se foi especificado um alias
table O nome da tabela a qual este campo pertence (se não for calculada)
orgtable Nome da tabela original se foi especificado um alias
def O valor padrão para este campo, representado por uma string
max_length O limite de tamanho para o campo no conjunto de resultados.
flags Um inteiro representando bit-flags para o campo.
type O tipo de dados para este campo
decimals O número de casas decimais usadas (para campos integer)

Exemplo

Exemplo #1 Estilo orientado a objeto

<?php
$mysqli 
= new mysqli("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if (
$result $mysqli->query($query)) {

    
/* Get field information for column 'SurfaceArea' */
    
$finfo $result->fetch_field_direct(1);
 
    
printf("Name:     %s\n"$finfo->name);
    
printf("Table:    %s\n"$finfo->table);
    
printf("max. Len: %d\n"$finfo->max_length);
    
printf("Flags:    %d\n"$finfo->flags);
    
printf("Type:     %d\n"$finfo->type);
    
    
$result->close();
}

/* close connection */
$mysqli->close();
?>

Exemplo #2 Estilo de procedimento

<?php
$link 
mysqli_connect("localhost""my_user""my_password""world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n"mysqli_connect_error());
    exit();
}

$query "SELECT Name, SurfaceArea from Country ORDER BY Name LIMIT 5";

if (
$result mysqli_query($link$query)) {

    
/* Get field information for column 'SurfaceArea' */
    
$finfo mysqli_fetch_field_direct($result1);
 
    
printf("Name:     %s\n"$finfo->name);
    
printf("Table:    %s\n"$finfo->table);
    
printf("max. Len: %d\n"$finfo->max_length);
    
printf("Flags:    %d\n"$finfo->flags);
    
printf("Type:     %d\n"$finfo->type);

    
mysqli_free_result($result);
}

/* close connection */
mysqli_close($link);
?>

Os exemplos acima devem produzir a seguinte saída:

Name:     SurfaceArea
Table:    Country
max. Len: 10
Flags:    32769
Type:     4


mysqli_fetch_field> <mysqli_fetch_assoc
Last updated: Fri, 14 Nov 2008
 
add a note add a note User Contributed Notes
mysqli_fetch_field_direct
cjs at ashdowntech dot com
16-Sep-2008 09:52
According to
http://www.redferni.uklinux.net/mysql/MySQL-Protocol.html

Data type values are:

DECIMAL           0       ENUM           247
TINY              1       SET            248
SHORT             2       TINY_BLOB      249
LONG              3       MEDIUM_BLOB    250
FLOAT             4       LONG_BLOB      251
DOUBLE            5       BLOB           252
NULL              6       VAR_STRING     253
TIMESTAMP         7       STRING         254
LONGLONG          8       GEOMETRY       255
INT24             9
DATE             10
TIME             11
DATETIME         12
YEAR             13
NEWDATE          14

Note that this is not tested and does not contain
all the values noted by deluxmozart
cjs at ashdowntech dot com
12-Sep-2008 08:00
According to
dev.mysql.com/sources/doxygen/mysql-5.1/mysql__com_8h-source.html
the flag bits are:
 
 NOT_NULL_FLAG          1         /* Field can't be NULL */
 PRI_KEY_FLAG           2         /* Field is part of a primary key */
 UNIQUE_KEY_FLAG        4         /* Field is part of a unique key */
 MULTIPLE_KEY_FLAG      8         /* Field is part of a key */
 BLOB_FLAG             16         /* Field is a blob */
 UNSIGNED_FLAG         32         /* Field is unsigned */
 ZEROFILL_FLAG         64         /* Field is zerofill */
 BINARY_FLAG          128         /* Field is binary   */
 ENUM_FLAG            256         /* field is an enum */
 AUTO_INCREMENT_FLAG  512         /* field is a autoincrement field */
 TIMESTAMP_FLAG      1024         /* Field is a timestamp */
deluxmozart at yahoo dot de
24-Jul-2008 11:05
Here are some Numbers of Datatypes. I searched for it but i didn't find a list, where the datatypes of the numbers are listed.

so first I can give this:

    3    -    Int
    10    -    Date
    246    -    Decimal
    252    -     text
    253    -    VarChar
    254    -    Boolean

mysqli_fetch_field> <mysqli_fetch_assoc
Last updated: Fri, 14 Nov 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites