Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : Firebird/InterBase Functions : ibase_execute

ibase_execute

Execute a previously prepared query (PHP 4, PHP 5)
resource ibase_execute ( resource query [, mixed bind_arg [, mixed ...]] )

Execute a query prepared by ibase_prepare().

This is a lot more effective than using ibase_query() if you are repeating a same kind of query several times with only some parameters changing.

Parameters

query

An InterBase query prepared by ibase_prepare().

bind_arg
...

Return Values

If the query raises an error, returns FALSE. If it is successful and there is a (possibly empty) result set (such as with a SELECT query), returns a result identifier. If the query was successful and there were no results, returns TRUE.

Note:

In PHP 5.0.0 and up, this function returns the number of rows affected by the query (if > 0 and applicable to the statement type). A query that succeeded, but did not affect any rows (e.g. an UPDATE of a non-existent record) will return TRUE.

Examples

Example 682. ibase_execute() example

<?php

$dbh
= ibase_connect($host, $username, $password);

$updates = array(
   
1 => 'Eric',
   
5 => 'Filip',
   
7 => 'Larry'
);

$query = ibase_prepare($dbh, "UPDATE FOO SET BAR = ? WHERE BAZ = ?");

foreach (
$updates as $baz => $bar) {
   
ibase_execute($query, $bar, $baz);
}

?>


See Also
ibase_query()

Code Examples / Notes » ibase_execute

caveman

ibase_execute only return resource id not the actual result, you need to use ibase_fetch_row or ibase_fetch_object to retrieve actual result.
On the example above given by anthony
it should be like these
$dbh = ibase_connect ( $host, $username, $password ) ;
$stmt = 'SELECT * FROM "EMPLOYEE" WHERE "SALARY" = ? AND "DEPT_CD" = ? ;' ;
$prep = ibase_prepare ( $dbh, $stmt ) ;
$salary = Array ( "10000", "25000", "33000", "48000" ) ;
$dept_cd = 'SALES' ;
foreach ( $salary as $val ) {
  $res = ibase_execute ($prep, $val, $dept_cd);
  $taxForm[$val] = ibase_fetch_row ($res);
}


mclap

For variable argument list in ibase_execute you can use folowing functions:
For PHP >= 4.0.4:
function db_execute($stmt,$data)
{
if(!is_array($data))
return ibase_execute($stmt,$data);
array_unshift($data,$stmt);
$rc=call_user_func_array('ibase_execute',$data);
return $rc;
}
For any version of PHP:
function db_execute($stmt,$data)
{
if(!is_array($data))
return ibase_execute($stmt,$data);
$params = array();
while( list($k,$v) = each($data) )
$params[$k] = '$data['.$k.']';
eval('$rc=ibase_execute($stmt,'.join(',',$params).');');
return $rc;
}


Change Language


Follow Navioo On Twitter
ibase_add_user
ibase_affected_rows
ibase_backup
ibase_blob_add
ibase_blob_cancel
ibase_blob_close
ibase_blob_create
ibase_blob_echo
ibase_blob_get
ibase_blob_import
ibase_blob_info
ibase_blob_open
ibase_close
ibase_commit_ret
ibase_commit
ibase_connect
ibase_db_info
ibase_delete_user
ibase_drop_db
ibase_errcode
ibase_errmsg
ibase_execute
ibase_fetch_assoc
ibase_fetch_object
ibase_fetch_row
ibase_field_info
ibase_free_event_handler
ibase_free_query
ibase_free_result
ibase_gen_id
ibase_maintain_db
ibase_modify_user
ibase_name_result
ibase_num_fields
ibase_num_params
ibase_param_info
ibase_pconnect
ibase_prepare
ibase_query
ibase_restore
ibase_rollback_ret
ibase_rollback
ibase_server_info
ibase_service_attach
ibase_service_detach
ibase_set_event_handler
ibase_timefmt
ibase_trans
ibase_wait_event
eXTReMe Tracker