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 :

Erreur requête PDO


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 7
    Par défaut Erreur requête PDO
    Bonjour (c'est .. encore moi ?)

    J'ai un problème de requête à la ligne 52 & 55.. mais je ne comprends pas mon erreur.. Quelqu'un pourrait-il m'aider ? svp

    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
    <?php
        require('configuration.php');   
    ?>
     
    <form name='form1' action='affiche_site.php' method='post'>
            <fieldset>          
                        <legend> Information du Site </legend> <!-- Titre du fieldset --> 
                        <label for="affiche_site">Sélectionner le site : </label><SELECT id="affiche_site" name="affiche_site">
    							 <?php
                                                if ($connection) {
                                                        echo "<br>Connection OK";
                                                }
                                                $req1 = "SELECT id_site, nom FROM site ";
                                                $result1 = mysqli_query($connection, $req1);
                                                while($ligne1 = mysqli_fetch_assoc($result1)){
                                                        echo '<option value="'.$ligne1['id_site'].'">'.$ligne1['nom']."</option>";
                                                }
                                        ?> 
    							</select><b>
    							<input type="submit" name="bouton" value="Choisir">
    							</form>
     
    	<?php
    			if(isset($_POST['bouton']){?>
    			<form id="form2" action='affichage.php' method='POST'>
    			<br/><br/>
    			<label> Infrastructure : </label>
    			<SELECT id="affiche_infra" name="affiche_infra">
    							 <?php
                                                if ($connection) {
                                                        echo "<br>Connection OK";
                                                }
                                                $req1 = "SELECT infrastructure FROM infrastructure ";
                                                $result1 = mysqli_query($connection, $req1);
                                                while($ligne1 = mysqli_fetch_assoc($result1)){
                                                        echo '<option value="'.$ligne1['infrastructure'].'">'.$ligne1['infrastructure']."</option>";
                                                }
                                        ?> 
    							</select><b>
    							<input type="submit" name="bouton_infra" Value='Valider'>
     
    							<?php
    								if(isset($_POST['bouton_infra'])){
    										try{
    												$base = new PDO('mysql:host=127.0.0.1;dbname=auchan', 'root', '');
    												$base-> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
     
    												$infra = $_POST['affiche_infra'];
    												$site = $_POST['affiche_site']
    												$AFFICHE = $base ->prepare((SELECT * FROM site where infrastructure = :infra AND nom = :site));
    												$AFFICHE = execute(array( 'infra' => $infra, 'site' => $site) or die (print_r($base->errorInfo()));
     
    											}
    										catch(Exception $e){
    												//Affiche la ligne où ce situe l'erreur
    												//Affiche l'erreur
    												die('<b>Exception à la ligne : '. $e->getLine() .':</b> erreur : '.$e->getMessage());
    										}
    								}
    							?>

  2. #2
    Membre confirmé Avatar de darkvins
    Homme Profil pro
    Développeur L4G Sage X3
    Inscrit en
    Septembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur L4G Sage X3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 25
    Par défaut
    Quel est le message d'erreur qui t'est retourné?

  3. #3
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 7
    Par défaut
    Voilà les messages :

    Nom : message_erreur.jpg
Affichages : 101
Taille : 133,4 Ko

  4. #4
    Modérateur
    Avatar de Kreepz
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 681
    Billets dans le blog
    1
    Par défaut
    Tu es sûr que $_POST['affiche_site'] te renvoie quelque chose?
    Pensez à regarder nos cours et tutoriels PHP ainsi que notre FAQ PHP avant de poser votre question!
    Un message vous a aidé, n'oubliez pas le

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Déjà, ce serait sympa de présenter ton code de façon à donner envie de le regarder... tel qu'il est, c'est vraiment pénible...

    Ensuite, ton code est mal fait, tes champs affiche_infra et affiche_site sont dans deux formulaires différents, tu ne pourras donc jamais avoir les deux données soumises en même temps.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 7
    Par défaut
    Effectivement après avoir mis un petit 'echo $site;', je me suis rendue compte qu'il ne retournait rien .. mais pourquoi il ne retourne rien alors que $infra retourne quelque chose ?

  7. #7
    Membre confirmé Avatar de darkvins
    Homme Profil pro
    Développeur L4G Sage X3
    Inscrit en
    Septembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur L4G Sage X3
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2011
    Messages : 25
    Par défaut
    En effet tu as 2 formulaires, ce n'est pas bon.

    De plus c'est un champ select, donc si tu ne sélectionnes rien ton $_POST['affiche_site'] n'existera pas.
    Il faudrait le tester avec un isset...

  8. #8
    Membre averti
    Femme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2015
    Messages : 7
    Par défaut
    J'ai changé (pour garder mes 2 forms .. parce que le JQuery ne veut pas de moi :o)

    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
    66
    67
    <?php
        require('configuration.php');   
    ?>
     
    <form name='form1' action='affiche_site.php' method='post'>
            <fieldset>          
                        <legend> Information du Site </legend> <!-- Titre du fieldset --> 
                        <label for="affiche_site">Sélectionner le site : </label><SELECT id="affiche_site" name="affiche_site">
    							 <?php
                                                if ($connection) {
                                                        echo "<br>Connection OK";
                                                }
                                                $req1 = "SELECT id_site, nom FROM site ";
                                                $result1 = mysqli_query($connection, $req1);
                                                while($ligne1 = mysqli_fetch_assoc($result1)){
                                                        echo '<option value="'.$ligne1['id_site'].'">'.$ligne1['nom']."</option>";
                                                }
                                        ?> 
    							</select><b>
    							<input type="submit" name="bouton" value="Choisir">
    							</form>
     
    	<?php
    			if(isset($_POST['bouton'])){?>
    			<form id="form2" action='affichage.php' method='POST'>
    			<br/><br/>
    			<label> Infrastructure : </label>
    			<SELECT id="affiche_infra" name="affiche_infra">
    							 <?php
                                                if ($connection) {
                                                        echo "<br>Connection OK";
                                                }
                                                $req1 = "SELECT infrastructure FROM infrastructure ";
                                                $result1 = mysqli_query($connection, $req1);
                                                while($ligne1 = mysqli_fetch_assoc($result1)){
                                                        echo '<option value="'.$ligne1['infrastructure'].'">'.$ligne1['infrastructure']."</option>";
                                                }
                                        ?> 
    							</select><b>
    							<input type="submit" name="bouton_infra" Value='Valider'>
     
    							<?php
    								if(isset($_POST['bouton_infra'])){															
    									//recupere l'infra
    									$infra = $_POST['affiche_infra'];
    									$recherchesite = "SELECT nom FROM site WHERE infrastructure = '$infra'";
    									$reqrecherchesite= mysqli_query($base, $recherchersite);
    									$resultatRechercheSite = mysqli_fetch_array($reqrecherchesite);
    									$site = $resultatRechercheSite['nom'];
     
    										try{
    												$base = new PDO('mysql:host=127.0.0.1;dbname=auchan', 'root', '');
    												$base-> setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
     
    												$AFFICHE = $base ->prepare("SELECT * FROM site where infrastructure = :infra AND nom = :site");
    												$AFFICHE = execute(array( 'infra' => $infra, 'site' => $site) or die (print_r($base->errorInfo())));
     
    											}
    										catch(Exception $e){
    												//Affiche la ligne où ce situe l'erreur
    												//Affiche l'erreur
    												die('<b>Exception à la ligne : '. $e->getLine() .':</b> erreur : '.$e->getMessage());
    										}
    									}
    								}
    							?>
    					</fieldset>


    Problème .. Je n'ai aucun message d'erreur mais .. rien ne s'affiche .. T.T

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    pour garder mes 2 forms .. parce que le JQuery ne veut pas de moi
    Quel rapport ?

    En tout état de cause, ton HTML est mal construit.
    Ca ne sert à rien de se lancer dans le PHP tant qu'on ne maitrise pas au minimum HTML (CSS et JavaScript étant des plus indéniables).
    En développement Web, PHP sert presque exclusivement à générer le code HTML de tes pages, donc si tu ne maitrises pas HTML, tu n'arriveras à rien.

    Déjà, la balise <fieldset> pose un gros problème puisqu'elle est à cheval entre deux formulaires.
    Ensuite, que viennent faire des <br> et du texte comme enfants directs des <select> ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

Discussions similaires

  1. [MySQL] [PDO]erreur requête préparée
    Par sandro11 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/11/2014, 00h02
  2. [HQL] erreur requête delete
    Par PamelaGeek dans le forum Hibernate
    Réponses: 4
    Dernier message: 17/02/2006, 13h27
  3. Erreur requête - Types de données imcompatibles
    Par charleshbo dans le forum Access
    Réponses: 4
    Dernier message: 14/02/2006, 16h57
  4. [VB6] Erreur Requête
    Par yoda7666 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 30/01/2006, 21h20
  5. [erreur requête]
    Par viny dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 16/09/2005, 13h55

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