From 6f85136e5fce9997403401877417e3586726458a Mon Sep 17 00:00:00 2001 From: Damien Seguy Date: Mon, 20 Nov 2000 17:25:32 +0000 Subject: [PATCH] initial version. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@36216 c90b9560-bf6c-de11-be94-00142212c4b1 --- functions/ingres_ii.xml | 935 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 935 insertions(+) create mode 100755 functions/ingres_ii.xml diff --git a/functions/ingres_ii.xml b/functions/ingres_ii.xml new file mode 100755 index 0000000000..aa4cd306c3 --- /dev/null +++ b/functions/ingres_ii.xml @@ -0,0 +1,935 @@ + + Ingres II functions + Ingres II + + + These functions allow you to access Ingres II database servers. + + + In order to have these functions available, you must compile php + with Ingres support by using the + option. + You need the Open API library and header files included with + Ingres II. If the II_SYSTEM environment variable isn't correctly + set you may have to use + + 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 environement 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. + + + + 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 commited or + rolled back before opening another transaction (which is automaticaly + done when sending the first query). + + + + + + + ingres_connect + Open a connection to an Ingres II database. + + + Description + + + resource ingres_connect + string + database + + string + username + + string + password + + + + + Returns a Ingres II link resource on success, or false on failure. + + + ingres_connect opens a connection with the + Ingres database designated by database, which + follows the syntax [node_id::]dbname[/svr_class]. + + + If some parameters are missing, ingres_connect + uses the values in php.ini for + ingres.default_database, + ingres.default_user and + ingres.default_password. + + + The connection is closed when the script ends or when + ingres_close is called on this link. + + + All the other ingres functions use the last opened link as a + default, so you need to store the returned value only if you use + more than one link at a time. + + + <function>ingres_connect</function> example + +<?php + $link = ingres_connect ("mydb", "user", "pass") + or die ("Could not connect"); + print ("Connected successfully"); + ingres_close ($link); +?> + + + + <function>ingres_connect</function> example + using default link + +<?php + ingres_connect ("mydb", "user", "pass") + or die ("Could not connect"); + print ("Connected successfully"); + ingres_close (); +?> + + + See also + ingres_pconnect, and + ingres_close. + + + + + + + ingres_pconnect + + Open a persistent connection to an Ingres II database. + + + + Description + + + resource ingres_pconnect + string + database + + string + username + + string + password + + + + + Returns a Ingres II link resource on success, or false on failure. + + + See ingres_connect for parameters details and + examples. There are only 2 differences between + ingres_pconnect and + ingres_connect : + First, when connecting, the function will first try to find a + (persistent) link that's already opened with the same parameters. + If one is found, an identifier for it will be returned instead of + opening a new connection. Second, the connection to the Ingres + server will not be closed when the execution of the script ends. + Instead, the link will remain open for future use + (ingres_close will not close links established + by ingres_pconnect). This type of link is + therefore called 'persistent'. + + See also + ingres_connect, and + ingres_close. + + + + + + + ingres_close + Close an Ingres II database connection + + + Description + + + boolingres_close + resource + link + + + + + Returns true on success, or false on failure. + + + ingres_close closes the connection to + the Ingres server that's associated with the specified link. + If the link parameter isn't + specified, the last opened link is used. + + + ingres_close isn't usually necessary, as it + won't close persistent connections and all non-persistent connections + are automatically closed at the end of the script. + + See also + ingres_connect, and + ingres_pconnect. + + + + + + + ingres_query + Send a SQL query to Ingres II + + + Description + + + boolingres_query + string + query + + resource + link + + + + + Returns true on success, or false on failure. + + + ingres_query sends the given + query to the Ingres server. This query + must be a valid SQL query (see the Ingres SQL reference guide) + + + The query becomes part of the currently open transaction. + If there is no open transaction, ingres_query + opens a new transaction. To close the transaction, you can either + call ingres_commit to commit the changes made + to the database or ingres_rollback to cancel these + changes. When the script ends, any open transaction is rolled back + (by calling ingres_rollback). You can also + use ingres_autocommit before opening a new + transaction to have every SQL query immediatly commited. + + + Some types of SQL queries can't be sent with this function : + + + close (see ingres_close). + + + commit (see ingres_commit). + + + connect (see ingres_connect). + + + disconnect (see ingres_close). + + get dbevent + prepare to commit + + + rollback (see ingres_rollback). + + + savepoint + + + set autocommit (see ingres_autocommit). + + + + all cursor related queries are unsupported + + + + + + <function>ingres_query</function> example + +<?php +ingres_connect ($database, $user, $password); + +ingres_query ("select * from table"); +while ($row = ingres_fetch_row()) { + echo $row[1]; + echo $row[2]; +} +?> + + + + + See also + ingres_fetch_array, + ingres_fetch_object, + ingres_fetch_row, + ingres_commit, + ingres_rollback and + ingres_autocommit. + + + + + + + ingres_num_rows + + Get the number of rows affected or returned by the last query + + + + Description + + + intingres_num_rows + resource + link + + + + + For delete, insert or update queries, + ingres_num_rows returns the number of rows + affected by the query. For other queries, + ingres_num_rows returns the number of rows + in the query's result. + + + + + This function is mainly meant to get the number of rows + modified in the database. + If this function is called before using + ingres_fetch_array, + ingres_fetch_object or + ingres_fetch_row the server will delete + the result's data and the script won't be able to get them. + + + You should instead retrieve the result's data using one of these + fetch functions in a loop until it returns false, indicating that + no more results are available. + + + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_num_fields + + Get the number of fields returned by the last query + + + + Description + + + intingres_num_fields + resource + link + + + + + ingres_num_fields returns the number of fields + in the results returned by the Ingres server after a call to + ingres_query + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_field_name + Get the name of a field in a query result. + + + Description + + + stringingres_field_name + int + index + + resource + link + + + + + ingres_field_name returns the name of a field + in a query result, or false on failure. + + + index is the number of the field and must be + between 1 and the value given by + ingres_num_fields. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_field_type + Get the type of a field in a query result. + + + Description + + + stringingres_field_type + int + index + + resource + link + + + + + 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 C. + + + index is the number of the field and must be + between 1 and the value given by + ingres_num_fields. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_field_nullable + Test if a field is nullable. + + + Description + + + boolingres_field_nullable + int + index + + resource + link + + + + + ingres_field_nullable returns true if the field + can be set to the NULL value and false if it can't. + + + index is the number of the field and must be + between 1 and the value given by + ingres_num_fields. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_field_length + Get the length of a field. + + + Description + + + intingres_field_length + int + index + + resource + link + + + + + ingres_field_length returns the length of a field. + This is the number of bytes used by the server to store the field. + For detailed information, see the Ingres/OpenAPI User Guide - Appendix C. + + + index is the number of the field and must be + between 1 and the value given by + ingres_num_fields. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_field_precision + Get the precision of a field. + + + Description + + + intingres_field_precision + int + index + + resource + link + + + + + ingres_field_precision returns the precision of + a field. This value is used only for decimal, float and money SQL data + types. For detailed information, see the Ingres/OpenAPI User Guide - + Appendix C. + + + index is the number of the field and must be + between 1 and the value given by + ingres_num_fields. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_field_scale + Get the scale of a field. + + + Description + + + intingres_field_scale + int + index + + resource + link + + + + + ingres_field_scale returns the scale of a field. + This value is used only for the decimal SQL data type. For detailed + information, see the Ingres/OpenAPI User Guide - Appendix C. + + + index is the number of the field and must be + between 1 and the value given by + ingres_num_fields. + + + See also + ingres_query, + ingres_fetch_array, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_fetch_array + Fetch a row of result into an array. + + + Description + + + arrayingres_fetch_array + int + result_type + + resource + link + + + + + ingres_fetch_array Returns an array that corresponds + to the fetched row, or false if there are no more rows. + + + This function is an extended version of + ingres_fetch_row. In addition to storing the + data in the numeric indices of the result array, it also stores + the data in associative indices, using the field names as keys. + + + If two or more columns of the result have the same field names, + the last column will take precedence. To access the other column(s) + of the same name, you must use the numeric index of the column or + make an alias for the column. + + +ingres_query(select t1.f1 as foo t2.f1 as bar from t1, t2); +$result = ingres_fetch_array(); +$foo = $result["foo"]; +$bar = $result["bar"]; + + + + + result_type can be II_NUM for enumerated array, + II_ASSOC for associative array, or II_BOTH (default). + + + Speed-wise, the function is identical to + ingres_fetch_object, and almost as quick as + ingres_fetch_row (the difference is + insignificant). + + + + <function>ingres_fetch_array</function> example + +<?php +ingres_connect ($database, $user, $password); + +ingres_query ("select * from table"); +while ($row = ingres_fetch_array()) { + echo $row["user_id"]; # using associative array + echo $row["fullname"]; + echo $row[1]; # using enumerated array + echo $row[2]; +} +?> + + + + + See also + ingres_query, + ingres_num_fields, + ingres_field_name, + ingres_fetch_object and + ingres_fetch_row. + + + + + + + ingres_fetch_row + Fetch a row of result into an enumerated array. + + + Description + + + arrayingres_fetch_row + resource + link + + + + + ingres_fetch_row returns an array that corresponds + to the fetched row, or false if there are no more rows. Each result + column is stored in an array offset, starting at offset 1. + + + Subsequent call to ingres_fetch_row would + return the next row in the result set, or false if there are no + more rows. + + + + <function>ingres_fetch_row</function> example + +<?php +ingres_connect ($database, $user, $password); + +ingres_query ("select * from table"); +while ($row = ingres_fetch_row()) { + echo $row[1]; + echo $row[2]; +} +?> + + + + + See also + ingres_num_fields, + ingres_query, + ingres_fetch_array and + ingres_fetch_object. + + + + + + + ingres_fetch_object + Fetch a row of result into an object. + + + Description + + + objectingres_fetch_object + int + result_type + + resource + link + + + + + ingres_fetch_object Returns an object that + corresponds to the fetched row, or false if there are no more rows. + + + This function is similar to + ingres_fetch_array, with one difference - an + object is returned, instead of an array. Indirectly, that means + that you can only access the data by the field names, and not by + their offsets (numbers are illegal property names). + + + The optional argument result_type is a + constant and can take the following values: II_ASSOC, + II_NUM, and II_BOTH. + + + Speed-wise, the function is identical to + ingres_fetch_array, and almost as quick as + ingres_fetch_row (the difference is + insignificant). + + + + <function>ingres_fetch_object</function> example + +<?php +ingres_connect ($database, $user, $password); +ingres_query ("select * from table"); +while ($row = ingres_fetch_object()) { + echo $row->user_id; + echo $row->fullname; +} +?> + + + + + See also + ingres_query, + ingres_num_fields, + ingres_field_name, + ingres_fetch_array and + ingres_fetch_row. + + + + + + + ingres_rollback + Roll back a transaction. + + + Description + + + boolingres_rollback + resource + link + + + + + ingres_rollback rolls back the currently open + transaction, actualy canceling all changes made to the database + during the transaction. + + + This closes the transaction. A new one can be open by sending a + query with ingres_query. + + + See also + ingres_query, + ingres_commit and + ingres_autocommit. + + + + + + + ingres_commit + Commit a transaction. + + + Description + + + boolingres_commit + resource + link + + + + + ingres_commit commits the currently open + transaction, making all changes made to the database permanent. + + + This closes the transaction. A new one can be open by sending a + query with ingres_query. + + + You can also have the server commit automaticaly after every query + by calling ingres_autocommit before opening the + transaction. + + + See also + ingres_query, + ingres_rollback and + ingres_autocommit. + + + + + + + ingres_autocommit + Switch autocommit on or off. + + + Description + + + boolingres_autocommit + resource + link + + + + + ingres_autocommit is called before opening a + transaction (before the first call to ingres_query + or just after a call to ingres_rollback or + ingres_autocommit) to switch the "autocommit" mode + of the server on or off (when the script begins the autocommit mode is + off). + + + When the autocommit mode is on, every query is automaticaly commited + by the server, as if ingres_commit was called + after every call to ingres_query. + + + See also + ingres_query, + ingres_rollback and + ingres_commit. + + + + + + +