ingres_field_type
(PHP 4 >= 4.0.2, PHP 5 <= 5.0.5, PECL ingres >= 1.0.0)
ingres_field_type — Get the type of a field in a query result
Description
$result
, int $index
)Get the type of a field in a query result.
Note: Related Configurations
Parameters
-
result
-
The query result identifier
-
index
-
index
is the field whose type will be retrieved.The possible values of
index
depend upon the value of ingres.array_index_start. If ingres.array_index_start is 1 (the default) thenindex
must be between 1 and the value returned by ingres_num_fields(). If ingres.array_index_start is 0 thenindex
must be between 0 and ingres_num_fields() - 1.
Return Values
ingres_field_type() returns the type of a
field in a query result or FALSE
on failure. Examples of
types returned are IIAPI_BYTE_TYPE,
IIAPI_CHA_TYPE, IIAPI_DTE_TYPE,
IIAPI_FLT_TYPE, IIAPI_INT_TYPE,
IIAPI_VCH_TYPE. Some of these types can map to more
than one SQL type depending on the length of the field (see
ingres_field_length()). For example
IIAPI_FLT_TYPE can be a float4 or a float8. For detailed
information, see the Ingres OpenAPI User Guide, Appendix
"Data Types" in the Ingres documentation.
See Also
- ingres_query() - Send an SQL query to Ingres
- ingres_fetch_array() - Fetch a row of result into an array
- ingres_fetch_assoc() - Fetch a row of result into an associative array
- ingres_fetch_object() - Fetch a row of result into an object
- ingres_fetch_row() - Fetch a row of result into an enumerated array
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для работы с базами данных
- Расширения для работы с базами данных отдельных производителей
- Ingres DBMS, EDBC, and Enterprise Access Gateways
- ingres_autocommit_state
- ingres_autocommit
- ingres_charset
- ingres_close
- ingres_commit
- ingres_connect
- ingres_cursor
- ingres_errno
- ingres_error
- ingres_errsqlstate
- ingres_escape_string
- ingres_execute
- ingres_fetch_array
- ingres_fetch_assoc
- ingres_fetch_object
- ingres_fetch_proc_return
- ingres_fetch_row
- ingres_field_length
- ingres_field_name
- ingres_field_nullable
- ingres_field_precision
- ingres_field_scale
- ingres_field_type
- ingres_free_result
- ingres_next_error
- ingres_num_fields
- ingres_num_rows
- ingres_pconnect
- ingres_prepare
- ingres_query
- ingres_result_seek
- ingres_rollback
- ingres_set_environment
- ingres_unbuffered_query
Коментарии
Ingres Data Types (oapi.pdf open api user guide)
Data Type Descriptions Ingres data types are described in the following table:
Data Type Description
IIAPI_BYTE_TYPE A fixed length binary string containing data with the declared length. The declared length is stored as the ds_length parameter in the corresponding data descriptor. Length: 1 to 2,000 characters.
IIAPI_CHA_TYPE A fixed length character string that is stored blankpadded to the declared length. The declared length is stored as the ds_length parameter in the corresponding data descriptor. Embedded blanks are significant. Valid characters for this data type include printing, nonprinting, and NULL characters. Length: 1 to 2,000 characters.
IIAPI_CHR_TYPE A fixed length character string that is stored blankpadded to the declared length. The declared length is stored as the ds_length parameter in the corresponding data descriptor. Embedded blanks are insignificant. Valid characters for this data type include printing characters only. This data type is supported for previous Ingres versions; when possible, use IIAPI_CHA_TYPE. Length: 1 to 2,000 characters.
IIAPI_HNDL_TYPE A data type used only by OpenAPI and the application. This data type describes a handle, which is a pointer to one of the control blocks created by OpenAPI. OpenAPI translates the information in the control block into data acceptable by the data source. This data type does not appear in queries.
IIAPI_DEC_TYPE A packed decimal data type stored in 1 to 16 bytes depending on the precision of the value as follows: len = (precision)/2 + 1. IIAPI_convertData() or IIAPI_formatData() may be used to convert to character string or floating point representation.
IIAPI_DTE_TYPE Ingres internal date data type that is stored in 12 bytes. IIAPI_convertData() or IIAPI_formatData() may be used to convert to character string or floating point representation.
IIAPI_FLT_TYPE A data type supporting data value ranges from - 1.0e+38 to +1.0e+38.
IIAPI_INT_TYPE A data type supporting varying data value ranges. It is dependent on the ds_length of the data value. If the length is 1, the range is from -128 to +127. If the length is 2, the range is from -32,768 to +32,767. If the length is 4, the range is from -2,147,483,648 to +2,147,483,647.
IIAPI_LOGKEY_TYPE A data type with values that are unique within the data source. An application should not attempt to update a column containing a system-maintained object key.
IIAPI_LBYTE_TYPE A variable-length binary string. The actual length of the large byte segment is stored in the first two bytes of the data buffer, followed by the large byte data. Length: 0 to 2,000,000,000 characters.
IIAPI_LVCH_TYPE A variable-length character string. The actual length of the large varchar segment is stored in the first two bytes of the data buffer, followed by the large varchar data. Valid characters for this data type include printing, non-printing, and NULL characters. Trailing blanks are insignificant in a varchar data type. Length: 0 to 2,000,000,000 characters.
IIAPI_MNY_TYPE The Ingres money data type stored in 8 bytes with 2 fixed decimal places. IIAPI_convertData() or IIAPI_formatData() can be used to convert to character string or floating point representation.
IIAPI_TABKEY_TYPE A data type with a value that is unique within the table where the table key is stored. An application should not attempt to update a column containing a systemmaintained table key.
IIAPI_TXT_TYPE A variable-length character string. The maximum size for this data type is stored as the ds_length parameter in the corresponding descriptor. The actual length of the text data is stored in the first two bytes of the data buffer, followed by the text data. Valid characters for this data type include printing and non-printing characters. All blanks are significant in a text data buffer. This type is supported for previous Ingres versions; when possible, use IIAPI_VCH_TYPE. Length: 1 to 2,000 characters.
IIAPI_VBYTE_TYPE A variable-length binary string. The maximum size for varbyte data is stored as the ds_length parameter in the corresponding descriptor. The actual length of the varbyte data is stored in the first two bytes of the data buffer, followed by the varbyte data. Length: 0 to 2,000 characters.
IIAPI_VCH_TYPE A variable-length character string. The maximum size for varchar data is stored as the ds_length parameter in the corresponding descriptor. The actual length of the varchar data is stored in the first two bytes of the data buffer, followed by the varchar data. Trailing blanks are insignificant in a varchar data type. Length: 0 to 2,000 characters.
I have to apologise for the previous two long postings, but information referring to the INGRES data types is a bit hard to find, so I want to share it. Below is my translation script for INGRES->MySQL data types.
<?
// Fieldtype Translator INGRES => MySQL (c) F.Burckhardt
// translates string, int, date; might be incomplete with respect to other INGRES data-types
$sql="SELECT * FROM table";
$conn = ingres_connect ($database, $user, $password);
$results = ingres_query($sql,$conn);
$fieldtype = array ( "key" => "val");
$ingres_translation = array( "IIAPI_VCH_TYPE" => "string",
"IIAPI_CHA_TYPE" => "string",
"IIAPI_INT_TYPE" => "int",
"IIAPI_DTE_TYPE" => "date");
for($i=1; $i<ingres_num_fields($conn)+1; $i++) {
$fieldtype [ingres_field_name($i,$conn)] = $ingres_translation[ingres_field_type($i,$conn)];
echo ("field_name (".ingres_field_name($i,$conn).") field_type (INGRES): ".ingres_field_type($i,$conn)." => fieldtype (MySQL)".$ingres_translation[ingres_field_type($i,$conn)]." <br>");
}
?>