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

PL/SQL Oracle Discussion :

erreur ora-00911 et ora-24374


Sujet :

PL/SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut erreur ora-00911 et ora-24374
    bonjour tout le monde
    j'ai deux erreur :ora-00911 caractere non valid in line 25(c'est a dire ici oci_execute($sql); ) et ora ora-24374 extraprextraction in line 26.(c est a dire ici while ($row = oci_fetch_array($sql)){ ) ... pourtant je vois aucune erreur dans ma requete
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php
    if((isset($_POST['ville_Arrivee'])) AND (isset($_POST['ville_Depart'])) AND (isset($_POST['date_choisiee'])))
    	{
    $villearrivee = $_POST['ville_Arrivee'];
    $villedepart = $_POST['ville_Depart'];
    $datechoisiee = $_POST['date_choisiee'];
    $conn = oci_connect('scott', 'tiger', 'orcl');
    $sql = oci_parse($conn, 'select calendrier.date_choisiee,
    calendrier.hid,
    heure.id_h,
    heure.f_des,
    destinations.id_des,
    aeroport.ae_id,
    destinations.ville_depart,
    destinations.ville_arrivee,
    heure.heure_depart,
    heure.heure_arrivee,
    heure.prix from calendrier,destinations,heure,aeroport
    where destinations.ville_arrivee=aeroport.ae_id
    and ville_depart=$villedepart
    and heure.f_des=destinations.id_des
    and ville_arrivee=$villearrivee
    and calendrier.hid=heure.id_h
    and date_choisiee=\''.$datechoisiee.'\'');
    oci_execute($sql); 
    while ($row = oci_fetch_array($sql)){
                    echo $row['DATE_CHOISIEE'];
                     echo $row['HEURE_DEPART'];
     echo $row['HEURE_ARRIVEE'];
     echo $row['VILLE_DEPART'];
     echo $row['VILLE_ARRIVEE'];
     
     
    	}
     
    }
    ?>
    j'ai mis oci_execute($sql); entre begin et end; et l'erreur a disparut pourtant j'ai une autre erreur :error parse a la meme ligne 25
    j'ai vu un exemple sur l'internet qui utilise begin et end; pour ce genre d'erreur mais je sais pas si c'est corecte ou pas
    Merci d'avance pour vos reponses

  2. #2
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Très probablement tes problèmes sont la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...
    where destinations.ville_arrivee=aeroport.ae_id
    and ville_depart=$villedepart
    and heure.f_des=destinations.id_des
    ...
    du aux caractères $. Tu doit soit concatener la valeur dans la chaîne des caractères qui compose ta requête soit, mieux encore, passer la valeur via les variables de binding.

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut erreur ora-00911 et ora-24374
    Bonjour et merci pour ta reponse
    normalement ici destinations.ville_arrivee=aeroport.ae_id il y a pas de probleme parce que ville_arrivee contient des nombres et ae_id contient aussi des nombres aussi ici heure.f_des=destinations.id_des la meme chose
    j'ai enleve : ville_depart=$villedepart
    ville_arrivee=$villearrivee
    date_choisiee=\''.$datechoisiee.'\'');
    et ma requete ca marche sans erreur mais sans me donner ce que je veux alors je crois que la j'ai le probleme

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Salut,

    Essaie comme ca, a quelques adaptations pres :
    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
    $sql = oci_parse($conn, "select calendrier.date_choisiee,
    calendrier.hid,
    heure.id_h,
    heure.f_des,
    destinations.id_des,
    aeroport.ae_id,
    destinations.ville_depart,
    destinations.ville_arrivee,
    heure.heure_depart,
    heure.heure_arrivee,
    heure.prix from calendrier,destinations,heure,aeroport
    where destinations.ville_arrivee=aeroport.ae_id
    and ville_depart= :villedepart
    and heure.f_des=destinations.id_des
    and ville_arrivee= :villearrivee
    and calendrier.hid=heure.id_h
    and date_choisiee=to_date(:datechoisiee,'format_date')");
     
    oci_bind_by_name($sql, ":villedepart", $villedepart);
    oci_bind_by_name($sql, ":villearrivee", $villearrivee);
    oci_bind_by_name($sql, ":datechoisiee", $datechoisiee);
    Ou format_date est le format en chaine de caracteres de $datechoisiee,
    ex: YYYY/MM/DD HH24:MI:SS. (En partant du principe que date_choisiee est bien de type date)

    Si tu n'as pas besoin des heures minutes secondes, utilise trunc(date_choisiee)

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut
    j'ai mis ton code et ca me donne la meme chose c'est a dire les meme deux erreurs

  6. #6
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut erreur est a cause de la date
    Bonsoir
    voila j'ai enleve date_choisiee=\''.$datechoisiee.'\' du code et tout marche bien sans erreur et quand je reajoute and date_choisiee=\''.$datechoisiee.'\' j'obtiens les memes erreurs
    que puis je faire ???
    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
    25
    26
    27
    <?php
    if((isset($_POST['ville_Arrivee'])) AND (isset($_POST['ville_Depart'])) AND (isset($_POST['date_choisiee'])))
    	{
    $villearrivee = $_POST['ville_Arrivee'];
    $villedepart = $_POST['ville_Depart'];
    $datechoisiee = $_POST['date_choisiee'];
    $conn = oci_connect('scott', 'tiger', 'orcl');
    $sql = oci_parse($conn, "select calendrier.date_choisiee,destinations.ville_depart,destinations.ville_arrivee,
    heure.heure_depart,heure.heure_depart,heure.heure_arrivee,heure.prix from calendrier,destinations,heure,aeroport 
    where destinations.ville_arrivee=aeroport.ae_id  and f_des=id_des and ville_depart=$villedepart and 
     
    ville_arrivee=$villearrivee and hid=id_h ");
    oci_execute($sql);
    while ($row = oci_fetch_array($sql)){
     
    echo "";
                     echo $row['HEURE_DEPART'];
    echo "";
     echo $row['HEURE_ARRIVEE'];
    echo "";
     echo $row['VILLE_DEPART'];
    echo "";
     echo $row['VILLE_ARRIVEE'];
    echo "</br>";
     
    	}
    }

  7. #7
    Membre confirmé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Points : 534
    Points
    534
    Par défaut
    Au lieu de passer des heures à tatonner comme tu le fais, tu n'as qu'a mettre ta requête dans une variable et l'afficher dans ta page (ou l'écrire dans un fichier texte) avant d'essayer de l'executer avec oci_execute($sql)

    Tu affiches ta requête (juste pour des tests, après tu effaceras le code d'affichage), tu l'observes et tu verras où est le problème, celà ne te prendra pas 5 minutes.
    "Celui qui reconnaît consciemment ses limites est le plus proche de la perfection." Johann Wolfgang

  8. #8
    McM
    McM est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    Voici un site qui recense toutes les erreurs Oracle :

    http://ora-24374.ora-code.com/?code=ora-24374
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  9. #9
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut Merci
    merci beaucoup pour vos reponse ,c'est resolu

  10. #10
    Membre actif

    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2008
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 109
    Points : 204
    Points
    204
    Par défaut
    salut
    montre le code magique

  11. #11
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 20
    Points : 13
    Points
    13
    Par défaut salut
    voila le code magique
    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
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    	if(isset($_POST['date_choisiee']) AND isset($_POST['ville_Depart']) AND isset($_POST['ville_Arrivee']))
    	{
    $conn = oci_connect('scott', 'tiger', 'orcl');
    $sql = oci_parse($conn, 'select calendrier.date_choisiee,
    calendrier.hid,
    heure.heure_depart,
    heure.heure_arrivee,
    destinations.id_des,
    heure.f_des,
    heure.prix,
    heure.id_h,
    destinations.ville_depart,
    destinations.ville_arrivee,
    aeroport.ae_id from calendrier,heure,destinations,aeroport
    where ville_arrivee=ae_id and hid=id_h and f_des=id_des and destinations.ville_depart=\''.$_POST['ville_Depart'].'\' and 
    destinations.ville_arrivee=\''.$_POST['ville_Arrivee'].'\' and calendrier.date_choisiee=\''.$_POST['date_choisiee'].'\'');
    oci_execute($sql);
    while ($row = oci_fetch_array($sql)){
                    echo $row['DATE_CHOISIEE'];
    echo $row['VILLE_DEPART'];
     echo $row['VILLE_ARRIVEE'];
                  echo $row['HEURE_DEPART'];
    echo $row['HEURE_ARRIVEE'];
    echo $row['PRIX'];
     
     
     
     
    	}
    }
    ?>

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

Discussions similaires

  1. [Oracle] Erreur ORA-00911
    Par BlueSun2 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 18/02/2010, 17h21
  2. Réponses: 2
    Dernier message: 15/04/2009, 07h42
  3. Réponses: 8
    Dernier message: 11/11/2008, 17h33
  4. Réponses: 2
    Dernier message: 08/08/2008, 18h03
  5. [CODE] Erreur ORA-00911
    Par FRof dans le forum Oracle
    Réponses: 7
    Dernier message: 07/08/2007, 19h25

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