©
本文档使用
php.cn手册 发布
(PHP 5)
ibase_field_info — Get information about a field
$result
, int $field_number
)Returns an array with information about a field after a select query has been run.
result
An InterBase result identifier.
field_number
Field offset.
Returns an array with the following keys: name, alias, relation, length and type.
Example #1 ibase_field_info() example
<?php
$rs = ibase_query ( "SELECT * FROM tablename" );
$coln = ibase_num_fields ( $rs );
for ( $i = 0 ; $i < $coln ; $i ++) {
$col_info = ibase_field_info ( $rs , $i );
echo "name: " . $col_info [ 'name' ]. "\n" ;
echo "alias: " . $col_info [ 'alias' ]. "\n" ;
echo "relation: " . $col_info [ 'relation' ]. "\n" ;
echo "length: " . $col_info [ 'length' ]. "\n" ;
echo "type: " . $col_info [ 'type' ]. "\n" ;
}
?>
[#1] tiago at econtabil dot com [2009-10-13 07:55:44]
In Firebird 1.5 this function INT64 returned to the fields created as floating point numbers. In Firebird 2.x this function returns as NUMERIC (SIZE, PRECISION). Example: NUMERIC (18,2)
In Brazilian Portuguese:
No Firebird 1.5 esta fun??o retornava INT64 para os campos criados como num??ricos com ponto flutuante. No Firebird 2.x esta fun??o retorna como NUMERIC(TAMANHO, PRECISAO). Exemplo: NUMERIC(18,2)
[#2] tiago at econtabil dot com [2006-04-07 04:40:53]
Example:
$db = ibase_connect($host,$username,$password, "None", 0, 3 ) or die ('Error trying connect to Database!');
$select = "SELECT * from TABLE";
$sql = ibase_query($db,$select) or die($select);
$total_fields= ibase_num_fields($sql);
for ($j = 1; $j <= $total_fields; $j++)
{
$info_field = ibase_field_info($sql, $j-1 );
print("Name: " . $info_campo[1]); // print the field name
print("Type:". $info_campo[4]); //print the field type
print("Size: " . $info_campo[3]); // print the field size
}
This function does not return the type from the fields as we are accustomed in interbase.
Example: Fields VARCHAR are returns as VARYING. Fields of the type CHAR return TEXT.
Tested in Firebird 1.5 Super Server.