[PHP][Oracle] Requete qui ne s'execute pas

Fermé
Gabouel - 19 avril 2007 à 12:33
 mazigh - 21 sept. 2007 à 02:32
Bonjour,

Je suis en train de faire un site en php avec une base de données Oracle. La requète suivante marche si je la soumet dirrectement à la base de données mais en passant par ma page, j'ai le message suivant:

Warning: OCIStmtExecute: ORA-01722: Nombre non valide in d:\program files\apache group\apache\htdocs\creationdevis.php on line 249"


Les requètes select marchent avec le même procédé mais le problème ne se pose que sur les requêtes INSERT INTO et UPDATE.

Voici mon code php :

	// La connexion marche bien, je l'utilise pour les SELECT
	$connexion = ociLogon('user','pass','base')); 

	
	$requete03="INSERT INTO devis.endev VALUES 
             ('".$numeroDevis."',SYSDATE,'".$libelleDevis."','".$IdClient."', 
             (SELECT ID_PORTEFEUILLE FROM INFOCENTRE.PORTEFEUILLE 
             WHERE LIB_PORTEFEUILLE='".$NomRepresentant."'), 
             '0.00','0.00','0.00')"; 

	$ok =($curseur03=ociparse($connexion,$requete03));
	
	if ($ok) {
		// Ci dessous, la fameuse ligne 249
		$ok = ociexecute($curseur03);
	}


La requette suivante marche si je l'execute dans l'utilitaire Oracle
Je l'ai obtrenu faisant un echo de ma requète, c'est donc ce que Oracle exécute
INSERT INTO devis.endev VALUES ('8',SYSDATE,'','1823700', (SELECT ID_PORTEFEUILLE FROM INFOCENTRE.PORTEFEUILLE WHERE LIB_PORTEFEUILLE='BEUCER J PASCAL'), '0.00','0.00','0.00')


Si quelqu'un pourrait m'indiquer ce qui cloche, ca m'aiderais beaucoup.

Merci.
A voir également:

3 réponses

priere d'aide ,media player 11 ne s'execute pas même si j'ai essayé de le désinstaller et le réinstaller de nouveau .
J'ai windows xp sp2 autentique .
2
poste plutot dans le topic webmastering.

Je n'ai jamais vu de fonction en oci avant, à quoi servent-elles exactement?
0
J'ai trouvé le problème...

Le serveur oracle d'ou provient la table attachée ne reconnaît pas le
format numérique avec le séparateur ",".

Il faut donc definir ce format dans le fichier ORACLE.INI a la section
[ORACLE] de la manière suivante :

NLS_NUMERIC_CHARACTERS=.,

Merci quand même
0