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

Oracle Discussion :

[Oracle] PHP bind float


Sujet :

Oracle

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 33
    Points
    33
    Par défaut [Oracle] PHP bind float
    salut

    je veux inserer des enregistrement dans cette table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREATE GLOBAL TEMPORARY TABLE temp_classification(
    propid NUMBER,
    prc INT,
    cycle_id INT,
    avg FLOAT,
    sd FLOAT
    )
    ON COMMIT PRESERVE ROWS
    dans mon code php, je bind mes variables, et à l'exécution, je me retrouve avec
    SQL Error: ORA-01722: Nombre non valide
    quand je dump mes variables après l'exécution, elles sont toutes passée en String, même si je les avais explicitement castées en int/float
    (déjà je sais pas trop pouquoi il fait ça dans le bind ..)
    ce qui fait que l'exécution de la requête revient à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    INSERT INTO temp_classification
    (propid, prc,cycle_id,avg,sd)
    VALUES(
    '20060167',
    '0',
    '3',
    '8.2',
    '0.77'
    )
    or le problème c'est que là Oracle sait caster une chaine en float tout seul, saut que le séparateur décimal doit être ici une virgule, donc il aime pas

    je ne pense pas que ce genre de problèmes soit exclusivement pour PHP, j'ai trouvé des questions assez proche (mais sans réponse).

    merci de vos suggestions
    ++

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    Vous pouvez par exemple modifier les paramètres de la session:

    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
    22
    23
    24
    SQL> desc t;
     Nom                                       NULL ?   Type
     ----------------------------------------- -------- ----------------------------
     
     X                                                  FLOAT(126)
     
    SQL> insert into t values ('1.2');
    insert into t values ('1.2')
                          *
    ERREUR à la ligne 1 :
    ORA-01722: invalid number
     
     
    SQL> alter session set nls_numeric_characters='.,';
     
    Session modifiée.
     
    SQL> insert into t values ('1.2');
     
    1 ligne créée.
     
    SQL> commit;
     
    Validation effectuée.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 35
    Points : 33
    Points
    33
    Par défaut
    oui, voilà, je me disais bien que faire des modif de la config dans ce genre, ça irait
    merci !!

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

Discussions similaires

  1. probleme charset oracle php
    Par mickjack dans le forum Oracle
    Réponses: 7
    Dernier message: 19/10/2011, 18h03
  2. Connexion Oracle-PHP par ODBC
    Par lcf84 dans le forum Oracle
    Réponses: 2
    Dernier message: 12/10/2006, 14h32
  3. Compatibilité entre Oracle, PHP
    Par tittoto dans le forum Oracle
    Réponses: 5
    Dernier message: 06/10/2006, 18h54
  4. [PHP / Oracle 9] Bind variables
    Par didier_s dans le forum Oracle
    Réponses: 3
    Dernier message: 23/06/2006, 18h00
  5. [Oracle 9i] Bind variables et sql dynamique
    Par jld_33 dans le forum Oracle
    Réponses: 17
    Dernier message: 09/06/2006, 12h49

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