oci_execute

(PHP 5, PECL oci8:1.1-1.2.4)

oci_execute — Выполняет выражение SQL

Описание

bool oci_execute ( resource $stmt [, int $mode ] )

oci_execute() выполняет предварительно подготовленное к выполнению выражение SQL (см. oci_parse()). Необязательный третий параметр mode позволяет вам указывать режим выполнения (по умолчанию он равен OCI_COMMIT_ON_SUCCESS). Если вы не хотите, чтобы после выполнения выражения автоматически выполнялся оператор COMMIT, завершающий транзакцию, то вам необходимо указать OCI_DEFAULT, как значение параметра mode .

Замечание: В версиях PHP ниже 5.0.0 эта функция называлась ociexecute(). В PHP 5.0.0 и выше ociexecute() является алиасом oci_execute(), поэтому вы можете продолжать использовать это имя, однако это не рекомендуется.

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Коментарии

Notice (PHP 5.2.12-pl0-gentoo):
You can parse empty query, you can execute empty query (returns true), but you cannot fetch data from empty query. So, if you provide query as variable, make sure it isn't empty.

<?php
$q 
oci_parse($c"");
if(
$q != false){
   
// parsing empty query != false
   
if(oci_execute($q){
       
// executing empty query != false
       
if(oci_fetch_all($q$data0, -1OCI_FETCHSTATEMENT_BY_ROW) == false){
           
// but fetching executed empty query results in error (ORA-24338: statement handle not executed)
           
$e oci_error($q);
            echo 
$e['message'];
        }
    }
    else{
       
$e oci_error($q);
        echo 
$e['message'];
    }
}
else{
   
$e oci_error($link);
    echo 
$e['message'];
}
?>
2010-08-25 04:35:47
http://php5.kiev.ua/manual/ru/function.oci-execute.html
Just to write it down. I was trying to do a simple SELECT on a Caché (http://www.intersystems.com/cache/) table through an Oracle dblink, but always received the error "ORA-01002: fetch out of sequence". The solution was using OCI_NO_AUTO_COMMIT on the oci_execute function.
2011-04-05 08:21:43
http://php5.kiev.ua/manual/ru/function.oci-execute.html
You can pass a "false" value to oci_execute() and this returns a null value, instead of the documented false value.
<?php
$conn 
oci_connect('username''password, '//hostname:1521/DB');

$result oci_execute(false);
var_dump($result);
?>

Results in "null", so performing an Identical test:
<?php
if ($results === false) {
   
//throw exception
}
?>

won't trap a problem, where as the Equal test (==) would:
<?php
if ($results == false) {
   
//throw exception
}
?>

So testing the result of a statement like oci_parse() is important!
2015-11-11 13:38:15
http://php5.kiev.ua/manual/ru/function.oci-execute.html

    Поддержать сайт на родительском проекте КГБ