From 3016e4c22c23483c60648b22b073b68ebd6156ab Mon Sep 17 00:00:00 2001 From: Friedhelm Betz Date: Sun, 26 May 2002 21:48:18 +0000 Subject: [PATCH] new structure git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@83598 c90b9560-bf6c-de11-be94-00142212c4b1 --- reference/ifx/reference.xml | 339 ++++++++++++++++++++---------------- 1 file changed, 185 insertions(+), 154 deletions(-) diff --git a/reference/ifx/reference.xml b/reference/ifx/reference.xml index ca0d337c7e..91285e5a14 100644 --- a/reference/ifx/reference.xml +++ b/reference/ifx/reference.xml @@ -1,167 +1,198 @@ - + Informix functions Informix - - The Informix driver for Informix (IDS) 7.x, SE 7.x, Universal - Server (IUS) 9.x and IDS 2000 is implemented in "ifx.ec" and - "php3_ifx.h" in the informix extension directory. IDS 7.x support - is fairly complete, with full support for BYTE and TEXT - columns. IUS 9.x support is partly finished: the new data types - are there, but SLOB and CLOB support is still under construction. - - - Configuration notes +
+ &reftitle.intro; - You need a version of ESQL/C to compile the PHP Informix driver. - ESQL/C versions from 7.2x on should be OK. ESQL/C is now part of - the Informix Client SDK. + The Informix driver for Informix (IDS) 7.x, SE 7.x, Universal + Server (IUS) 9.x and IDS 2000 is implemented in "ifx.ec" and + "php3_ifx.h" in the informix extension directory. IDS 7.x support + is fairly complete, with full support for BYTE and TEXT + columns. IUS 9.x support is partly finished: the new data types + are there, but SLOB and CLOB support is still under construction. +
+ +
+ &reftitle.required; + + Configuration notes + + You need a version of ESQL/C to compile the PHP Informix driver. + ESQL/C versions from 7.2x on should be OK. ESQL/C is now part of + the Informix Client SDK. + + + Make sure that the "INFORMIXDIR" variable has been set, and that + $INFORMIXDIR/bin is in your PATH before you run the "configure" + script. + + +
+ +
+ &reftitle.install; + + + The configure script will autodetect the libraries and include + directories, if you run configure + . You can + override this detection by specifying "IFX_LIBDIR", "IFX_LIBS" and + "IFX_INCDIR" in the environment. The configure script will also + try to detect your Informix server version. It will set the + "HAVE_IFX_IUS" conditional compilation variable if your Informix + version >= 9.00. + + +
+ +
+ &reftitle.runtime; + + + Make sure that the Informix environment variables INFORMIXDIR and + INFORMIXSERVER are available to the PHP ifx driver, and that the + INFORMIX bin directory is in the PATH. Check this by running a + script that contains a call to phpinfo + before you start testing. The phpinfo + output should list these environment variables. This is &true; for + both CGI php and Apache mod_php. You may have to set these + environment variables in your Apache startup script. + + + The Informix shared libraries should also be available to the + loader (check LD_LINBRARY_PATH or ld.so.conf/ldconfig). + + + + + Some notes on the use of BLOBs (TEXT and BYTE columns) + + + BLOBs are normally addressed by BLOB identifiers. Select queries + return a "blob id" for every BYTE and TEXT column. You can get + at the contents with "string_var = ifx_get_blob($blob_id);" if + you choose to get the BLOBs in memory (with : + "ifx_blobinfile(0);"). If you prefer to receive the content of + BLOB columns in a file, use "ifx_blobinfile(1);", and + "ifx_get_blob($blob_id);" will get you the filename. Use normal + file I/O to get at the blob contents. + + + For insert/update queries you must create these "blob id's" + yourself with "ifx_create_blob;". You then + plug the blob id's into an array, and replace the blob columns + with a question mark (?) in the query string. For + updates/inserts, you are responsible for setting the blob + contents with ifx_update_blob. + + + The behaviour of BLOB columns can be altered by configuration + variables that also can be set at runtime : + + + configuration variable : ifx.textasvarchar + + + configuration variable : ifx.byteasvarchar + + + runtime functions : + + + ifx_textasvarchar(0) : use blob id's for select queries with TEXT + columns + + + ifx_byteasvarchar(0) : use blob id's for select queries with BYTE + columns + + + ifx_textasvarchar(1) : return TEXT columns as if they were + VARCHAR columns, so that you don't need to use blob id's for + select queries. + + + ifx_byteasvarchar(1) : return BYTE columns as if they were + VARCHAR columns, so that you don't need to use blob id's for + select queries. + + + configuration variable : ifx.blobinfile + + + runtime function : + + + ifx_blobinfile_mode(0) : return BYTE columns in memory, the blob + id lets you get at the contents. + + + ifx_blobinfile_mode(1) : return BYTE columns in a file, the blob + id lets you get at the file name. + + + If you set ifx_text/byteasvarchar to 1, you can use TEXT and BYTE + columns in select queries just like normal (but rather long) + VARCHAR fields. Since all strings are "counted" in PHP, this + remains "binary safe". It is up to you to handle this + correctly. The returned data can contain anything, you are + responsible for the contents. + + + If you set ifx_blobinfile to 1, use the file name returned by + ifx_get_blob(..) to get at the blob contents. Note that in this + case YOU ARE RESPONSIBLE FOR DELETING THE TEMPORARY FILES CREATED + BY INFORMIX when fetching the row. Every new row fetched will + create new temporary files for every BYTE column. + + + The location of the temporary files can be influenced by the + environment variable "blobdir", default is "." (the current + directory). Something like : putenv(blobdir=tmpblob"); will ease + the cleaning up of temp files accidentally left behind (their + names all start with "blb"). + + + + Automatically trimming "char" (SQLCHAR and SQLNCHAR) data + + This can be set with the configuration variable + + + ifx.charasvarchar : if set to 1 trailing spaces will be + automatically trimmed, to save you some "chopping". + + + + &null; values + + The configuration variable ifx.nullformat (and the runtime + function ifx_nullformat) when set to &true; + will return &null; columns as the string "&null;", when set to &false; + they return the empty string. This allows you to discriminate + between &null; columns and empty columns. + + +
+ +
+ &reftitle.resources; - Make sure that the "INFORMIXDIR" variable has been set, and that - $INFORMIXDIR/bin is in your PATH before you run the "configure" - script. - - The configure script will autodetect the libraries and include - directories, if you run "configure --with_informix=yes". You can - override this detection by specifying "IFX_LIBDIR", "IFX_LIBS" and - "IFX_INCDIR" in the environment. The configure script will also - try to detect your Informix server version. It will set the - "HAVE_IFX_IUS" conditional compilation variable if your Informix - version >= 9.00. - - - - Runtime considerations - - Make sure that the Informix environment variables INFORMIXDIR and - INFORMIXSERVER are available to the PHP ifx driver, and that the - INFORMIX bin directory is in the PATH. Check this by running a - script that contains a call to phpinfo - before you start testing. The phpinfo - output should list these environment variables. This is &true; for - both CGI php and Apache mod_php. You may have to set these - environment variables in your Apache startup script. - - - The Informix shared libraries should also be available to the - loader (check LD_LINBRARY_PATH or ld.so.conf/ldconfig). - - - - - Some notes on the use of BLOBs (TEXT and BYTE columns) - - - BLOBs are normally addressed by BLOB identifiers. Select queries - return a "blob id" for every BYTE and TEXT column. You can get - at the contents with "string_var = ifx_get_blob($blob_id);" if - you choose to get the BLOBs in memory (with : - "ifx_blobinfile(0);"). If you prefer to receive the content of - BLOB columns in a file, use "ifx_blobinfile(1);", and - "ifx_get_blob($blob_id);" will get you the filename. Use normal - file I/O to get at the blob contents. - - - For insert/update queries you must create these "blob id's" - yourself with "ifx_create_blob;". You then - plug the blob id's into an array, and replace the blob columns - with a question mark (?) in the query string. For - updates/inserts, you are responsible for setting the blob - contents with ifx_update_blob. - - - The behaviour of BLOB columns can be altered by configuration - variables that also can be set at runtime : - - - configuration variable : ifx.textasvarchar - - - configuration variable : ifx.byteasvarchar - - - runtime functions : - - - ifx_textasvarchar(0) : use blob id's for select queries with TEXT - columns - - - ifx_byteasvarchar(0) : use blob id's for select queries with BYTE - columns - - - ifx_textasvarchar(1) : return TEXT columns as if they were - VARCHAR columns, so that you don't need to use blob id's for - select queries. - - - ifx_byteasvarchar(1) : return BYTE columns as if they were - VARCHAR columns, so that you don't need to use blob id's for - select queries. - - - configuration variable : ifx.blobinfile - - - runtime function : - - - ifx_blobinfile_mode(0) : return BYTE columns in memory, the blob - id lets you get at the contents. - - - ifx_blobinfile_mode(1) : return BYTE columns in a file, the blob - id lets you get at the file name. - - - If you set ifx_text/byteasvarchar to 1, you can use TEXT and BYTE - columns in select queries just like normal (but rather long) - VARCHAR fields. Since all strings are "counted" in PHP, this - remains "binary safe". It is up to you to handle this - correctly. The returned data can contain anything, you are - responsible for the contents. - - - If you set ifx_blobinfile to 1, use the file name returned by - ifx_get_blob(..) to get at the blob contents. Note that in this - case YOU ARE RESPONSIBLE FOR DELETING THE TEMPORARY FILES CREATED - BY INFORMIX when fetching the row. Every new row fetched will - create new temporary files for every BYTE column. - - - The location of the temporary files can be influenced by the - environment variable "blobdir", default is "." (the current - directory). Something like : putenv(blobdir=tmpblob"); will ease - the cleaning up of temp files accidentally left behind (their - names all start with "blb"). - - - - Automatically trimming "char" (SQLCHAR and SQLNCHAR) data - - This can be set with the configuration variable - - - ifx.charasvarchar : if set to 1 trailing spaces will be - automatically trimmed, to save you some "chopping". - - - - &null; values - - The configuration variable ifx.nullformat (and the runtime - function ifx_nullformat) when set to &true; - will return &null; columns as the string "&null;", when set to &false; - they return the empty string. This allows you to discriminate - between &null; columns and empty columns. - - +
+ +
+ &reftitle.constants; + &no.constants; +
+ + +
&reference.ifx.functions;