ora_exec

(PHP 3, PHP 4, PHP 5 <= 5.1.0RC1)

ora_exec -- 在 Oracle 游标上执行被分析后的语句

描述

int ora_exec ( resource cursor )

ora_exec() 函数运行 cursor 参数指定的已由 ora_parse() 函数解析的语句。

如果成功则返回 TRUE,失败则返回 FALSE。 错误的细节能够使用 ora_error()ora_errorcode() 函数取得。

参见 ora_parse()ora_fetch(), 和 ora_do()


add a note add a note User Contributed Notes
cjbj at hotmail dot com
07-Jan-2004 12:11
If you are using bind variables and get the error:

"Warning: Can't find variable for parameter in myfile.php on line X"

where line X is the ora_exec() call, you may need to set the bound PHP
variable to something before calling ora_exec().  See the ora_bind()
user comments for the working example I added.
kerxen at caramail dot com
23-May-2003 07:13
Maybe newbies don't know in which order to use all the ORA_FUNCTIONS.

Here is a function to execute queries. But it is not made for SELECT queries, because the cursor is closed at the end but you can adapt it.

Moreover, you need to logon and logoff (obviously)...
 
SYNOPTIC :
   $conn = ora_logon  ("user@TNSNAME", "pass");
   $query="";
   execute_query ($query,$conn);
   ora_logoff ( $conn) ;

/*-------------------
Here is the execute_query function
-------------------*/

function execute_query ($query,$conn){
   // ouveture du curseur , create a cursor
     if (!($cursor= ora_open($conn)))
     {  reportError ($conn, " Cursor could not be opened! ");
       exit;        // Termine le script courant , end the script
     }
   // parse query  // analyse la requete et l'associe au curseur, analyse the query and use the cursor for it
     if (!ora_parse ($cursor, $query))
     {  reportError ($cursor, " Statement could not be parsed! ");
       exit;
     }
   // execution de la query, execution of the query
     if (!ora_exec($cursor))
     {  reportError ($cursor, " Statement could not be executed! ");
       exit;
                                           }
   // ferme le curseur oracle, close the cursor
     ora_close($cursor);
   // valide la transaction, validation of the transaction (if any)
     ora_commit($conn);
     }

/*-------------------
Here is the reportError function.
-------------------*/

   function reportError($code,$message ="")
   {  print ("$message\n");
         print ("Code Erreur: " . ora_errorcode($code) . "\n");
       print ("Message d'Erreur: " . ora_error($code) . "\n");
   }

Good Luck !
Eddy Cingala