Gets field type.
string i5_field_ type (resource result/file, int/string field)
Parameters
result |
Resource describing file or other record set.
|
field |
Integer or string identifying the field position or name.
|
Return
Field's type. String.
I5_ERR_PHP_HDLDFT |
256 |
No default connection found. |
I5_ERR_PHP_OPTIONSTYPE |
259 |
The type of " I5_OPTIONS_ALIAS" option must be x and not x |
I5_ERR_PHP_OPTIONSNUMBER |
260 |
Option number -1 is unknown. |
I5_ERR_PHP_OPTIONSNUMBER |
260 |
Option number -1 is unknown. |
I5_ERR_PHP_TYPEPARAM |
262 |
Type of element x in parameter -1 must be y. Type z was provided. |
Details
• Fields types are different by nature in IBM i and PHP environment. To know an IBM i exact field type, use i5_info function and fetch ASTYPE key value in the returned table.
$info = i5_info($res, "CODE");
echo "Type AS CODE ". $info["ASTYPE"];
• i5_field_type function returns a character chain containing the type.
This value may be: "int", "bool", "float", "string" or "blob".
Example
$fields = i5_list_fields($file);
if (is_bool($fields))
{
print_r("i5_list_fields error : ".i5_errormsg().'<br/>');
}
else
{
$nb_fields = count($fields);
echo "s_customer file contains ".$nb_fields." fields.<br/>";
echo "Columns are as follow:<br/>";
for ($i=0; $i < $nb_fields; $i++)
{
$type = i5_field_type($file, $i);
$name = i5_field_name($file, $i);
$len = i5_field_len($file, $i);
if (is_bool($len))
{
print_r("i5_field_len error : ".i5_errormsg().'<br/>');
}
echo $type . " " . $name . " " . $len. '<br/>';
}
}
See also