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
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:
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.
| 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($result, 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);
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_direct
cjs at ashdowntech dot com
16-Sep-2008 09:52
16-Sep-2008 09:52
cjs at ashdowntech dot com
12-Sep-2008 08:00
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
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
