PHP : Function Reference : Oracle Functions [deprecated] : ora_exec
kerxen
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
cjbj
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.
|
|