Salut à vous !
J'ai un petit souci pour executer une requete SQL avec OCI sous PHP5.
Voilà le code :
Le problème n'apparait qu'avec le SGBDR Oracle 10g XE...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 function executeQuery($q, $connection) { global $db_type ; if($db_type == "mysql") { $r = mysql_query($q) or die("Error ".$db_type." : Failed to execute the query :".$q) ; return $r ; } else if($db_type == "oracle") { $statement = oci_parse($connection, $q) or die ("Error ".$db_type." (in ".__FILE__."): Failed to prepare the statement for query ".$q) ; oci_execute ($statement, OCI_DEFAULT) or die ("Error ".$db_type." (in ".__FILE__."): Failed to execute the statement for query ".$q); return $statement ; } else exit("Error (in ".__FILE__."): Wrong database type ->".$db_type) ; }
La connexion à la base se fait sans probleme avec un oci_connect(..), et le oci_parse se déroule également sans erreur.
Par contre, lorsque j'appelle oci_execute(..) lorsque la query SQL est
Ça plante, avec l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $query = "DESC ma_table" ;
et la fonction oci_error() ne me renvoie rien !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part Warning: oci_execute() [function.oci-execute]: ORA-00900: invalid SQL statement in /usr/local/apache2/htdocs/mon_site/db_functions.php
Par contre que si je fais un SELECT * FROM ma_table, aucune erreur et tout marche (à priori)...ce serait donc la requete DESC qu'il n'aime pas...pourtant sous SQL *Plus elle marche impec.
Vous savez d'où cela peut venir ? Merci beaucoup pour vos lumières !
Partager