ibase_field_info()
(PHP 5, PHP 7)
Get information about a field
说明
ibase_field_info(resource $result,int $field_number): array
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,lengthandtype.
范例
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";
}
?>
参见
- ibase_num_fields()Get the number of fields in a result set
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)
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.