Salut à vous !

J'ai un petit souci pour executer une requete SQL avec OCI sous PHP5.

Voilà le code :

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) ;
}
Le problème n'apparait qu'avec le SGBDR Oracle 10g XE...

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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
$query = "DESC ma_table" ;
Ça plante, avec l'erreur :
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
et la fonction oci_error() ne me renvoie rien !!

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 !