文字

ingres_unbuffered_query

(No version information available, might only be in Git)

ingres_unbuffered_querySend an unbuffered SQL query to Ingres

说明

mixed ingres_unbuffered_query ( resource $link , string $query [, array $params [, string $types ]] )

ingres_unbuffered_query() sends the given query to the Ingres server.

The query becomes part of the currently open transaction. If there is no open transaction, ingres_unbuffered_query() opens a new transaction. To close the transaction, you can call either 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 immediately committed. Ingres allows only a single unbuffered statement to be active at any one time. The extension will close any active unbuffered statements before executing any SQL. In addition you cannot use ingres_result_seek() to position the row before fetching.

Note: Related Configurations

See also the ingres.describe and ingres.utf8 directives in Runtime Configuration.

参数

link

The connection link identifier

query

A valid SQL query (see the Ingres SQL reference guide) in the Ingres documentation. See the query parameter in ingres_query() for a list of SQL statements that cannot be executed via ingres_unbuffered_query() .

Data inside the query should be properly escaped.

params

An array of parameter values to be used with the query

types

A string containing a sequence of types for the parameter values passed. See the types parameter in ingres_query() for the list of type codes.

返回值

ingres_unbuffered_query() returns a query result identifier when there are rows to fetch; else it returns FALSE when there are no rows, as is the case of an INSERT, UPDATE, or DELETE statement. To see if an error occurred, use ingres_errno() , ingres_error() , or ingres_errsqlstate() .

范例

Example #1 Issue a simple un-buffered select

<?php
$link 
ingres_connect ( "demodb" );

$result  ingres_unbuffered_query ( $link "select * from user_profile" );
while (
$row  ingres_fetch_row ( $result )) {
    echo 
$row [ 1 ];
    echo 
$row [ 2 ];
}
?>

Example #2 Passing query parameters to ingres_unbuffered_query()

<?php
$link 
ingres_connect ( "demodb" );

$params [] =  "Emma" ;
$query  "select * from user_profile where up_first = ?" ;
$result  ingres_unbuffered_query ( $link $query $params );
while (
$row  ingres_fetch_row ( $result )) {
    echo 
$row [ 1 ];
    echo 
$row [ 2 ];
}
?>

Example #3 Inserting a BLOB with parameter types

<?php
$link 
ingres_connect ( "demodb" );

//Open a photo
$fh  fopen ( "photo.jpg" , "r" );
$blob_data  stream_get_contents ( $fh );
fclose ( $fh );

//Prepare parameters
$params [] =  $blob_data ;
$params [] =  1201 ;

//Define parameter types
$param_types  "Bi" ;

$query  "update user_profile set up_image = ? where up_id = ?" ;
$result  ingres_unbuffered_query ( $link $query  $params $param_types );

if (
ingres_errno ())
{
    echo 
ingres_errno () .  "-"  ingres_error () .  "\n" ;
}
?>

参见

  • 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
  • ingres_commit() - Commit a transaction
  • ingres_rollback() - Roll back a transaction
  • ingres_autocommit() - Switch autocommit on or off
  • ingres_set_environment() - Set environment features controlling output options
  • ingres_errno() - Get the last Ingres error number generated
  • ingres_error() - Get a meaningful error message for the last error generated
上一篇: 下一篇: