Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & Oracle
PHP & Oracle Forum d'entraide sur Oracle avec PHP. Avant de poster -> FAQ Oracle et Cours Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2006, 15h36   #1
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 145
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 145
Points : 29
Points : 29
Par défaut PB recuperer une valeur d'une fonction Oracle dans PHP

Salut à tous,

Mon problème est que je n'arrive pas à executer la requete suivante. Il m'affiche toujours le message Erreur. J'ai tester ma requete sur ma bdd, et pourtant cela marche très bien. Ma base de donnée est en Oracle.

Ce que je ne comprend pas c'est lorsque je fais une requete toute simple à la place de la requete ci-dessous. Par exemple SELECT * FROM COMMUNE; cela marche très bien.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
$VALEUR = '1';
$req = "SELECT Swp.Is_numeric('$VALEUR') AS rValeur FROM dual";	
 
$a=new connexion_medoc();
$connection = $a->connecte();
 
$s = OCIParse($connection, $req);
 
if (!@OCIExecute($s, OCI_DEFAULT))
{
     print "Erreur";
 
     return ocierror($s);
}
Le code concernant la procedure:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
CREATE OR REPLACE PACKAGE Swp AS
   FUNCTION Is_Numeric (valeur IN VARCHAR2) RETURN NUMBER;
END Swp;
/
 
 
CREATE OR REPLACE PACKAGE BODY Swp AS
 
FUNCTION Is_Numeric (valeur IN VARCHAR2)
   RETURN NUMBER IS
   -- Retourne 1 si valeur est numérique, 0 sinon
      i NUMBER;
   BEGIN
      i := TO_NUMBER(valeur);
	  RETURN 1;
   EXCEPTION
       WHEN OTHERS THEN RETURN 0;
   END Is_Numeric;
END Swp;
/
Mon but est de recuperer la variable de la fonctoin Is_Numeric avec le langage PHP. Is_Numeric est une fonction parmis tand d'autre que je dois traiter, je sais que tester si la valeur est numerique sous php est possible, mais il faut que ca marche sous oracle car j'ai d'autre fonction.

Je vous remercie d'avance
wormseric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2006, 16h41   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Enlève le @ avant OCIExecute.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2006, 17h05   #3
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 145
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 145
Points : 29
Points : 29
Ca ne marche toujours pas malheureusement
wormseric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2006, 17h55   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
fait un echo req pour voir a quoi ressemble ta requete quand tu l'envoi
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/07/2006, 18h01   #5
Membre chevronné
 
Avatar de gerald2545
 
Inscription : février 2003
Messages : 643
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 643
Points : 660
Points : 660
tu ne vois toujours pas l'erreur Oracle apparaitre?
Tes guillemets ne sont pas de trop dans
Code :
SELECT Swp.Is_numeric('$VALEUR') AS rValeur FROM dual
?
gerald2545 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2006, 10h18   #6
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 145
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 145
Points : 29
Points : 29
Les guillements ne sont pas de trop, j'ai tester en enlevant les guillemets et ca ne marche toujours pas

Par contre ma requete marche bien lorsque j'execute ma requete sous SQL Plus. Il me retourne bien un 0 ou un 1, suivant le parametre qui a été indiquer.

C'est pour ca je ne comprend pas pourquoi cela ne marche pas sous PHP. Peut etre qu'il faut ajouter d'autre fonction php, pour que ma requete execute bien la fonction is_numeric?
wormseric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2006, 10h25   #7
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
ta fait le echo req ??
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/07/2006, 10h29   #8
Nouveau Membre du Club
 
Inscription : avril 2006
Messages : 145
Détails du profil
Informations forums :
Inscription : avril 2006
Messages : 145
Points : 29
Points : 29
Oui j'ai fait le echo, et quand je teste cet requete sous sql plus, cele me retourne bien le resultat que je souhaite.

Code :
1
2
3
 
 
SELECT Swp.Is_numeric('f') AS rValeur FROM dual;
wormseric est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h02.


 
 
 
 
Partenaires

Hébergement Web