ibase_execute

(PHP 5, PHP 7 < 7.4.0)

ibase_executeExecuta uma consulta preparada anteriormente

Descrição

ibase_execute ( resource $query , mixed $bind_arg = ? , mixed $... = ? ) : resource

Executa uma consulta preparada por ibase_prepare().

Isto é muito mais efetivo do que usar ibase_query() se você estiver repetindo o mesmo tipo de consulta muitas vezes apenas mudando alguns parâmetros.

Parâmetros

query

Uma preparada query do InterBase por ibase_prepare().

bind_arg

...

Valor Retornado

Se houver um erro na consulta retorna false. Se for bem sucedida e tiver um conjunto de resultados (possivelmente vazio), por exemplo de uma consulta SELECT, retorna um identificador de consulta. Se a consulta for bem sucedida e não houverem resultados true.

Nota:

No PHP 5.0.0 e posterior, esta função retorna o número de linhas afetadas pela consulta (se > 0 e aplicado ao tipo de comando). A consulta que tenha sido bem sucedida mas não afete nenhuma linha(ex. um UPDATE de um registro que não exista) irá retornar true.

Exemplos

Exemplo #1 Exemplo da ibase_execute()

<?php
    $dbh 
ibase_connect($host$username$password);
    
$updates = array(
        
=> 'Eric',
        
=> 'Filip',
        
=> 'Larry'
    
);

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

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

Veja Também

  • ibase_query() - Executa uma consulta em um banco de dados InterBase

add a note add a note

User Contributed Notes 2 notes

up
2
mclap at ulstu dot ru
21 years ago
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;
}
up
0
caveman
21 years ago
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);
}
To Top