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 :

Php + Sql + Oracle


Sujet :

Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Php + Sql + Oracle
    Bonjour à tous et à toutes !

    Voilà j'ai un ptit souci de SQL !

    Alors, j'appel une procédure stockée depuis du code php et ceci fonctionne.
    MAis le pb est lorsque je lui passe une chaine de caractére de type => $flux=''TOTO,TITI'' cette requête ne me retourne rien !

    Un ex :

    PARTIE PHP :

    PARTIE SQL :
    CREATE OR REPLACE PROCEDURE i_llc_fill_list_vin_vo(
    Vin IN VARCHAR2,
    vFlux IN VARCHAR2,
    curres OUT packcursor.curresult
    )
    AS
    --Initialisation des variables locales
    Vin_ VARCHAR2(17):= Vin;
    vFlux_ VARCHAR2(100):= vFlux;

    BEGIN
    OPEN curres FOR
    SELECT DISTINCT
    concession.LIB_VILLE "VILLE",
    concession.CODE_POSTAL "CP",
    .....
    FROM CHASSIS ch,
    CHASSIS_TRANSPORT ct,
    SERVICE srv,
    ...
    WHERE ch.ID_CHASSIS = ct.ID_CHASSIS
    AND ct.ID_VEHICULE = ev.ID_VEHICULE
    --
    AND FLUX_TRAFIC.CODE_FLUX IN (vFlux_) -- ICI vFlux_ contient ('TOTO','TITI')


    END i_llc_fill_list_vin_vo;
    /

    Or ma requête ne retourne pas de données, sauf kan ke lui passe directemetn le contenu de la variable vFlux en dur dans la requête !!

    SI vous m'avez compris : auriez-vous une idéee ????????


    Merci de votre attention et bonne fin de journée !

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 766
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 766
    Points : 52 563
    Points
    52 563
    Billets dans le blog
    5
    Par défaut
    C'est parfaitement normal. Une liste n'est pas un paramètre.

    Vous pouvez faire :

    SELECT ...
    WHERE col1 IN (Param1, Param2)

    chaque paramètre étant une valeur

    mais pas SELECT ...
    WHERE col1 IN (Param)

    ou Param = 'abc, def'...

    ne pas confondre une liste qui est un objet et un paramètre qui est une valeur.

    Pour faire ceci il faut passer par du SQL dynamique.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. [Oracle] Exécuter une fonction Pl sql oracle avec php
    Par rolinx dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/09/2011, 08h59
  2. [Oracle] Probleme variable requete SQL Oracle PHP
    Par tatann dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 23/03/2011, 17h25
  3. PHP -- PL/SQL -- ORACLE
    Par Torando59 dans le forum PL/SQL
    Réponses: 4
    Dernier message: 23/01/2006, 12h28
  4. [SQL ORACLE] Soustraction de deux timestamps
    Par platinum07 dans le forum SQL
    Réponses: 34
    Dernier message: 02/07/2004, 10h42
  5. PL/SQL ORACLE (Record Dans un Varchar2)
    Par argoet dans le forum PL/SQL
    Réponses: 24
    Dernier message: 14/05/2004, 16h06

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