PHP Doku:: Ausführen einer vorbereiteten Abfrage - function.ibase-execute.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzDatenbankerweiterungenAnbieterspezifische DatenbankerweiterungenFirebird/InterBaseFirebird/InterBase Funktionenibase_execute

Ein Service von Reinhard Neidl - Webprogrammierung.

Firebird/InterBase Funktionen

<<ibase_errmsg

ibase_fetch_assoc>>

ibase_execute

(PHP 4, PHP 5)

ibase_executeAusführen einer vorbereiteten Abfrage

Beschreibung:

int ibase_execute ( int $query [, int $bind_args ] )

Führt eine vorher per ibase_prepare() vorbereitete Abfrage aus. Dies ist effizienter als der Gebrauch von ibase_query(), sofern sie mehrere ähnliche Abfragen durchführen wollen, bei denen sich immer nur einige Parameter ändern.

<?php
    $updates 
= array(
        
=> 'Erik',
        
=> 'Phillip',
        
=> 'Ludwig'
    
);

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

    while (list(
$baz$bar) = each($updates)) {
        
ibase_execute($query$bar$baz);
    }
?>


2 BenutzerBeiträge:
- Beiträge aktualisieren...
caveman
24.01.2003 19:18
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 at ulstu dot ru
8.09.2002 3:54
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;
}



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)