Manual do PHP
Anterior |  | Próxima

# LXX. Ingres II Functions

# Introdução

These functions allow you to access Ingres II database servers.

> Nota: If you already used PHP extensions to access other database servers, note that Ingres doesn't allow concurrent queries and/or transaction over one connection, thus you won't find any result or transaction handle in this extension. The result of a query must be treated before sending another query, and a transaction must be committed or rolled back before opening another transaction (which is automatically done when sending the first query).

# Dependências

To compile PHP with Ingres support, you need the Ingres OpenAPI library and header files.

# Instalação

Esta estensão PECL não vem compilada com o PHP. Informações para a instalação desta extensão PECL podem ser encontradas no manual no capitulo entitulado Instalação de extensões PECL. Informações adicionais como novas versões, downloads, arquivos fontes, manutenções, e um Changelog, podem ser obtidos aqui: http://pecl.php.net/package/ingres.

In order to have these functions available, you must compile PHP with Ingres support by using the `--with-ingres[=DIR]` option, where DIR is the Ingres base directory, which defaults to `/II/ingres`. If the II_SYSTEM environment variable isn't correctly set you may have to use `--with-ingres=DIR` to specify your Ingres installation directory.

When using this extension with Apache, if Apache does not start and complains with "PHP Fatal error: Unable to start ingres_ii module in Unknown on line 0" then make sure the environment variable II_SYSTEM is correctly set. Adding "export II_SYSTEM="/home/ingres/II" in the script that starts Apache, just before launching httpd, should be fine.

# Configurações em execução

O comportamento dessas funções podem ser modificado pelas configurações do `php.ini`.

Tabela 1. Ingres configuration options

Name | Default | Changeable | Changelog
--- | --- | --- | ---
ingres.allow_persistent | "1" | PHP_INI_SYSTEM | Available since PHP 4.0.2.
ingres.max_persistent | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.2.
ingres.max_links | "-1" | PHP_INI_SYSTEM | Available since PHP 4.0.2.
ingres.default_database | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
ingres.default_user | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
ingres.default_password | NULL | PHP_INI_ALL | Available since PHP 4.0.2.
ingres.report_db_warnings | "1" | PHP_INI_ALL | Available since version 1.1.0 of the PECL extension.
ingres.cursor_mode | "0" | PHP_INI_ALL | Available since version 1.1.0 of the PECL extension.
ingres.blob_segment_length | "4096" | PHP_INI_ALL | Available since version 1.2.0 of the PECL extension.
ingres.trace_connect | "0" | PHP_INI_ALL | Available since version 1.3.1 of the PECL extension.
ingres.timeout | "-1" | PHP_INI_ALL | Available since version 1.3.1 of the PECL extension.
ingres.array_index_start | "1" | PHP_INI_ALL | Available since version 1.3.1 of the PECL extension.

Para mais detalhes e definições das constantes PHP_INI_*, veja Apêndice H.

# Tipos Resource

ingres_connect() and ingres_pconnect() return an Ingres II link identifier.

# Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

`INGRES_ASSOC` (integer)

  Columns are returned into the array having the fieldname as the array index.

`INGRES_NUM` (integer)

  Columns are returned into the array having a numerical index to the fields. This index starts with 1, the first field in the result.

`INGRES_BOTH` (integer)

  Columns are returned into the array having both a numerical index and the fieldname as the array index.

`INGRES_EXT_VERSION` (string)

  Specifies the version of the Ingres Extension. Available since version 1.2.0 of the PECL extension.

`INGRES_API_VERSION` (integer)

  Specifies the version of Ingres OpenAPI the extension was built against. Available since version 1.2.0 of the PECL extension.

`INGRES_CURSOR_READONLY` (integer)

  Specifies that Ingres cursors should be opened in 'readonly' mode. Available since version 1.2.0 of the PECL extension.

`INGRES_CURSOR_UPDATE` (integer)

  Specifies that Ingres cursors should be opened 'for update'. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_MULTINATIONAL` (integer)

  Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_MULTINATIONAL4` (integer)

  Equivalent to the II_DATE_FORMAT setting of MULTINATIONAL4. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_FINNISH` (integer)

  Equivalent to the II_DATE_FORMAT setting of FINNISH. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_ISO` (integer)

  Equivalent to the II_DATE_FORMAT setting of ISO. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_ISO4` (integer)

  Equivalent to the II_DATE_FORMAT setting of ISO4. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_GERMAN` (integer)

  Equivalent to the II_DATE_FORMAT setting of GERMAN. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_MDY` (integer)

  Equivalent to the II_DATE_FORMAT setting of MDY. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_DMY` (integer)

  Equivalent to the II_DATE_FORMAT setting of DMY. Available since version 1.2.0 of the PECL extension.

`INGRES_DATE_YMD` (integer)

  Equivalent to the II_DATE_FORMAT setting of YMD. Available since version 1.2.0 of the PECL extension.

`INGRES_MONEY_LEADING` (integer)

  Specifies the currency character that should be placed at the start of a money value. Equivalent to setting II_MONEY_FORMAT to 'L:'. Available since version 1.2.0 of the PECL extension.

`INGRES_MONEY_TRAILING` (integer)

  Specifies the currency character that should be placed at the end of a money value. Equivalent to setting II_MONEY_FORMAT to 'T:'. Available since version 1.2.0 of the PECL extension.

`INGRES_STRUCTURE_BTREE` (integer)

  Specifies the default table or index structure to BTREE when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.

`INGRES_STRUCTURE_CBTREE` (integer)

  Specifies the default table or index structure to COMPRESSED BTREE when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.

`INGRES_STRUCTURE_HASH` (integer)

  Specifies the default table or index structure to HASH when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.

`INGRES_STRUCTURE_CHASH` (integer)

  Specifies the default table or index structure to COMPRESSED HASH when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.

`INGRES_STRUCTURE_HEAP` (integer)

  Specifies the default table structure to HEAP when used in combination with the table_structure option when connecting. Available since version 1.4.0 of the PECL extension.

`INGRES_STRUCTURE_CHEAP` (integer)

  Specifies the default table structure to COMPRESSED HEAP when used in combination with the table_structure option when connecting. Available since version 1.4.0 of the PECL extension.

`INGRES_STRUCTURE_ISAM` (integer)

  Specifies the default table or index structure to ISAM when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.

`INGRES_STRUCTURE_CISAM` (integer)

  Specifies the default table or index structure to COMPRESSED ISAM when used in combination with the table_structure or index_structure option when connecting. Available since version 1.4.0 of the PECL extension.

# Exemplos

This simple example shows how to connect, execute a query, print resulting rows and disconnect from an Ingres database.

Exemplo 1. Simple Ingres Example
`<?php // Connecting, selecting database $link = ingres_connect('database', 'user', 'password') or die('Could not connect: ' . ingres_error($link)); echo 'Connected successfully'; // Select from a table that exists in all Ingres databases $query = 'SELECT * FROM iirelation'; $returncode = ingres_query($query,$link) or die('Query failed: ' . ingres_error($link)); // Print results in HTML // relid - table name // relowner - table owner echo "<table>\n"; while ($iirelation = ingres_fetch_object(INGRES_BOTH, $link)) { echo "\t<tr>\n"; echo "\t\t<td>" . $iirelation->relid . "</td>\n"; echo "\t\t<td>" . $iirelation->relowner . "</td>\n"; echo "\t</tr>\n"; } echo "</table>\n"; // Commit transaction ingres_commit($link); // Closing connection ingres_close($link); ?>`

Anterior | Principal | Próxima
PDO_INFORMIX DSN | Acima | ingres_autocommit