|
db2_exec
Executes an SQL statement directly
(PECL ibm_db2:1.0-1.6.2)
Example 925. Creating a table with db2_exec()The following example uses db2_exec() to issue a set of DDL statements in the process of creating a table. <?php The above example will output: Successfully created the table. Example 926. Executing a SELECT statement with a scrollable cursorThe following example demonstrates how to request a scrollable cursor for an SQL statement issued by db2_exec(). <?php The above example will output: Bubbles Example 927. Returning XML data as a SQL ResultSetThe following example demonstrates how to work with documents stored in a XML column using the SAMPLE database. Using some pretty simple SQL/XML, this example returns some of the nodes in a XML document in a SQL ResultSet format that most users are familiar with. <?php The above example will output: 1000 Kathy Smith 416-555-1358 Example 928. Performing a "JOIN" with XML dataThe following example works with documents stored in 2 different XML columns in the SAMPLE database. It creates 2 temporary tables from the XML documents from 2 different columns and returns a SQL ResultSet with information regarding shipping status for the customer. <?php The above example will output: 1001 Kathy Smith 905-555-7258 5002 Shipped Example 929. Returning SQL data as part of a larger XML documentThe following example works with a portion of the PRODUCT.DESCRIPTION documents in the SAMPLE database. It creates a XML document containing product description (XML data) and pricing info (SQL data). <?php The above example will output: <promoList xmlns="http://posample.org"> Code Examples / Notes » db2_execshawn
If you need to "emulate" offset/limit (as PEAR::DB puts it) for db2 queries, you will definitely need to add array('cursor' => DB2_SCROLLABLE) to your db2_exec() call. Otherwise, you will get nothing useful from db2_fetch_{whatever}() when you try to (see following hack for example): $limit = 10; $offset = 20; for ($i = 0; $i < $limit && $row = db2_fetch_array($result, $offset + $i); $i++) { // stuff goes here } You can accomplish the same time of thing using sub-selects, "with" statements and other things new to me in the world of DB2, but the more dynamically generated the queries, the more difficult it gets to implement limit/offset behavior on the fly. duc
if you have the error message : PHP Warning: db2_exec() [<a href='function.db2-exec'>function.db2-exec</a>]: Statement Execute Failed in (....) and cannot display the error message using db2_stmt_errormsg() , then check if your database connection handle is (still) valid |
Change Languagedb2_autocommit db2_bind_param db2_client_info db2_close db2_column_privileges db2_columns db2_commit db2_conn_error db2_conn_errormsg db2_connect db2_cursor_type db2_escape_string db2_exec db2_execute db2_fetch_array db2_fetch_assoc db2_fetch_both db2_fetch_object db2_fetch_row db2_field_display_size db2_field_name db2_field_num db2_field_precision db2_field_scale db2_field_type db2_field_width db2_foreign_keys db2_free_result db2_free_stmt db2_get_option db2_lob_read db2_next_result db2_num_fields db2_num_rows db2_pconnect db2_prepare db2_primary_keys db2_procedure_columns db2_procedures db2_result db2_rollback db2_server_info db2_set_option db2_special_columns db2_statistics db2_stmt_error db2_stmt_errormsg db2_table_privileges db2_tables |