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.
ora_exec
(PHP 4, PHP 5 <= 5.0.5)
ora_exec — Oracle カーソル上でのパースしたステートメントを実行する
説明
bool ora_exec ( resource $cursor )あらかじめパースされた文 cursor を実行します。
パラメータ
- cursor
すでに ora_parse() でパース済みの Oracle カーソル。
返り値
成功した場合に TRUE を、失敗した場合に FALSE を返します。 エラーについての詳細は、ora_error() および ora_errorcode() 関数を用いて調べられます。
変更履歴
注意
廃止予定の oracle のかわりに oci8 拡張モジュールを用いる場合は、 以下を使用してください。
| oci_execute() |
参考
| ora_parse() |
| ora_fetch() |
| ora_do() |
ora_exec
cjbj at hotmail dot com
07-Jan-2004 01:11
07-Jan-2004 01:11
kerxen at caramail dot com
23-May-2003 08:13
23-May-2003 08: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