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 :

probleme avec PDO [PDO]


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut probleme avec PDO
    Bonjours a vous, je vous explique je veux enregistrer dans am base de donnée divers variables PHP que j'ai récupérer dans un formulaire (tout marche jusque la)
    Mais quand j'envoie mon formulaire via une procédure stocké que j’appelle dans une fonction php la ça ne marche plus j'ai une erreur sur mon execute a la fin mais je ne trouve pas l'érreur voici le code :
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    function NewConcession($contrat, $num_contrat, $secteur, $id_concession, $num_arrete, $num_allee, $emp_occupe, $date, $nomC, $prenomC, $adresseC, $adresse2C, $cpC, $villeC, $type_concession, $type_emplacement, $duree, $dateExp, $taille, $montant, $connexion) {
    //recupère le numéro du type de contrat
        $req_contrat = ("SELECT ID_TYPE_CONTRAT
                         FROM TYPE_TITRE
                         WHERE LIBELLE_TYPE_CONTRAT = '$contrat'");
        $req_contrat_finale = $connexion->query($req_contrat);
     
        //recupere le numéro du type d'emplacement
        $req_type_emp = ("SELECT num_typage_emplacement
                          FROM type_emplacement
                          WHERE type_emplacement= '$type_emplacement'");
        $req_type_emp_finale = $connexion->query($req_type_emp);
     
        //recupere le numéro du genre de la concession
        $req_genre_concession =("SELECT ID_GENRE_CONCESSION
                                 FROM GENRE_CONCESSION
                                 WHERE LIBELLE_GENRE_CONCESSION = '$type_concession'");
        $req_genre_concession_finale = $connexion->query($req_genre_concession); 
     
        //recupere l'id correspondant a la durée
        $req_duree = ("SELECT ID_DUREE
                       FROM DUREE
                       WHERE NOMBRE_DUREE = $duree");
        $req_duree_finale = $connexion->query($req_duree);
     
        //recupere l'id du secteur
        $req_type_secteur = ("SELECT ID_SECTEUR
                              FROM TYPE_SECTEUR
                              WHERE TYPE_SECTEUR = '$secteur'");
        $req_type_secteur_finale = $connexion->query($req_type_secteur);
     
     
     
    //préparation de la procédure
    //autant de ? que de paramètres demandés par la procédure
     
        $stmt = $connexion->prepare("CALL proc_insert_concession(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");
     
    //position du parametre dans la procédure, valeur, type
        $stmt->bindParam(1,$num_contrat , PDO::PARAM_INT);
        $stmt->bindParam(2,$id_concession , PDO::PARAM_INT);
        $stmt->bindParam(3,$req_contrat_finale , PDO::PARAM_INT);
        $stmt->bindParam(4,$req_type_emp_finale , PDO::PARAM_INT);
        $stmt->bindParam(5,$req_genre_concession_finale  , PDO::PARAM_INT);
        $stmt->bindParam(6,$req_duree_finale  , PDO::PARAM_INT);
        $stmt->bindParam(7,$num_arrete  , PDO::PARAM_INT);
        $stmt->bindParam(8,$date  , PDO::PARAM_STR);
        $stmt->bindParam(9,$dateExp  , PDO::PARAM_STR);
        $stmt->bindParam(10,$taille  , PDO::PARAM_INT);
        $stmt->bindParam(11,$montant  , PDO::PARAM_INT);
        $stmt->bindParam(12,$req_type_secteur_finale  , PDO::PARAM_INT);
        $stmt->bindParam(13,$num_allee  , PDO::PARAM_INT);
        $stmt->bindParam(14,$emp_occupe  , PDO::PARAM_STR);
        $stmt->bindParam(15,$nomC  , PDO::PARAM_STR);
        $stmt->bindParam(16,$prenomC  , PDO::PARAM_STR);
        $stmt->bindParam(17,$adresseC  , PDO::PARAM_STR);
        $stmt->bindParam(18,$adresse2C  , PDO::PARAM_STR);
        $stmt->bindParam(19,$cpC  , PDO::PARAM_STR);
        $stmt->bindParam(20,$villeC  , PDO::PARAM_STR);
     
     
    //execution de la procédure
        $stmt->execute();
     
    }
    Merci de votre aide d'avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Bonjour.

    Ça aiderait pas mal d'avoir l'erreur ^^

    Que te renvoie ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    try {
        $stmt->execute();
    } catch (Exception $e) {
        echo 'Exception : ',  $e->getMessage(), "\n";
    }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    rhoo!!!!
    Quel idiot j'ai oublier le principal

    voici le message d’erreur

    Catchable fatal error: Object of class PDOStatement could not be converted to string in C:

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Le message est incomplet

    Que te renvoie ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    var_dump($date);
    var_dump($dateExp);
    var_dump($emp_occupe);
    var_dump($nomC);
    var_dump($prenomC);
    var_dump($adresseC);
    var_dump($adresse2C);
    var_dump($cpC);
    var_dump($villeC);

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    ca me renvoie

    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
    string '29/03/2012' (length=10)
     
    string '29/3/2042' (length=9)
     
    string 'oui' (length=3)
     
    string 'Tartempion' (length=10)
     
    string 'tete' (length=4)
     
    string '8 allée des roses' (length=18)
     
    string 'Batiment F' (length=10)
     
    string '59876' (length=5)
     
    string 'Petaouchnok' (length=11)

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

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    A quoi correspond le numéro de ligne du message d'erreur ?

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    a la ligne 91 c'est a dire cette ligne


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

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Et en définissant une longueur pour les strings ?

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Non plus je ne comprend vraiment pas pourquoi

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Si tu exécute la requête sans passer par les bind tu as le problème aussi ?

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Tu veux dire sans passer par ma procédure stocké ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Tu dois pouvoir la lancer avec juste ça je pense
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $stmt->execute("TA REQUETE");
    Après je ne suis pas spécialisé PDO, j'essaie d'apporter des pistes (même si elles ne sont peut-être pas les bonnes )

  13. #13
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Et bien non sans succès...

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Bon bah désolé j'ai fait ce que j'ai pu :/

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Mais non merci beaucoup de ton aide

  16. #16
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    Je pense avoir trouver d’où venait l'erreur je pense que cela viens de mes select au début et surtout ce qu'il retourne mais je n'en suis pas sur

  17. #17
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    il y a un truc que je ne comprend pas quand je fais un 'echo' sur l'un de mes résultats sur une variable d'un de mes select je n'arrive pas a voir sa valeur
    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $req_contrat = ("SELECT ID_TYPE_CONTRAT
                         FROM TYPE_TITRE
                         WHERE LIBELLE_TYPE_CONTRAT = '$contrat'");
        $req_contrat_finale = $connexion->query($req_contrat);
    dérrière je fais un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo $req_contrat_finale
    et j'obtiens le message d'erreur suivant :

    Catchable fatal error: Object of class PDOStatement could not be converted to string in C:\

    La ligne spécifié est celle de l'écho;

    Merci d'avance pour votre aide.

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Si tu enlève les parenthèses autour de la requête ? Elles ne sont pas utiles.

  19. #19
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 21
    Points : 2
    Points
    2
    Par défaut
    pareil, je suis sur que ci je résous ce problème il reste va suivre

  20. #20
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Points : 64
    Points
    64
    Par défaut
    Affiche ta requête et exécute-la dans phpmyadmin et vois déjà si ça pose problème

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [MySQL] probleme unicode avec PDO
    Par Jcpan dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 15/02/2010, 12h11
  2. [PDO] Probleme connexion avec PDO
    Par Vivian Pennel dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/03/2008, 14h03
  3. [PDO] Probleme avec PDO / PHP5
    Par anjin dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 27/08/2007, 07h33
  4. Probleme avec l'objet PDO en PHP
    Par krovomi dans le forum Connexion aux bases de données
    Réponses: 1
    Dernier message: 03/05/2006, 12h18
  5. [Kylix] probleme avec un imagelist
    Par NicoLinux dans le forum EDI
    Réponses: 4
    Dernier message: 08/06/2002, 23h06

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