IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PB recuperer une valeur d'une fonction Oracle dans PHP [Oracle]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : 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
    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

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    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)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    Ca ne marche toujours pas malheureusement

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    fait un echo req pour voir a quoi ressemble ta requete quand tu l'envoi
    Stay in Bed .. Save Energy

  5. #5
    Membre éclairé
    Avatar de gerald2545
    Profil pro
    Inscrit en
    Février 2003
    Messages
    744
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 744
    Points : 773
    Points
    773
    Par défaut
    tu ne vois toujours pas l'erreur Oracle apparaitre?
    Tes guillemets ne sont pas de trop dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Swp.Is_numeric('$VALEUR') AS rValeur FROM dual
    ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    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?

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    ta fait le echo req ??
    Stay in Bed .. Save Energy

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 145
    Points : 61
    Points
    61
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    SELECT Swp.Is_numeric('f') AS rValeur FROM dual;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. [Débutant] je voudrai recuperer la valeur d'une combobox sur une textbox c#
    Par emna123 dans le forum Général Dotnet
    Réponses: 3
    Dernier message: 02/05/2014, 15h09
  3. Réponses: 12
    Dernier message: 03/03/2009, 18h20
  4. Réponses: 9
    Dernier message: 30/01/2009, 13h04
  5. Réponses: 7
    Dernier message: 26/04/2008, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo