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

Langage PHP Discussion :

Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1 [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Par défaut Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1
    Bonjour,
    Je suis entrain de faire une migration vers PDO en php mais je suis debutant actuellement.
    J'avais l'habitude d'utiliser l'ancienne manière de travailler avec mysql (mysql_connect...) mais je veux maintenant effectuer une migration de mes pages web vers PDO où je ne me retrouve pas pour l'instant. Besoin de votre aide pour acherver la migration. Merci d'avance. Voici ci-dessous le code de la page...
    Le code suivant m'affiche une erreur de ce genre:
    Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
     
             <!DOCTYPE html>
    <html>
        <head>
    	    <meta charset="utf-8" />
    	    <title>voeux des clients</title>
    		<link rel="stylesheet" href="sogim.css" />
    		<link rel="stylesheet" href="css/bootstrap.min.css" />
    		<link rel="stylesheet" href="css/bootstrap-theme.min.css"/>
    	</head> 
     
    	    <body>    
    			    <div id="bloc_page">
    				    <?php
    					    include("entete.php");
    					    /* include("fonctions.php"); */
                        ?>
    			        <section class="row">
    		                <div  align="center" class="col-md-12 col-sm-12 col-xm-12">       
                                <?php
                                    if(isset($_POST['valider']))
    						            {
                                            //On récupère les valeurs entrées par l'utilisateur :
    							$civ=$_POST['civ'];
                                $nom=$_POST['nom'];
                                $prenom=$_POST['prenom'];
                                $contact=$_POST['contact'];
    							$email=$_POST['email'];
    							$message=$_POST['message'];
                                //On construit la date d'aujourd'hui strictement comme sql la construit
                                $today = date("y-m-d");
     
    				            echo '<h2>Vos informations saisies sont les suivantes<br></h2>';
    					        echo $civ.' '. htmlspecialchars($_POST['nom']).' '.htmlspecialchars($_POST['prenom']).'<br><u>Vos contacts:</u>'.htmlspecialchars($_POST['contact']).'<br> <u>Adresse E-mail:</u> '.htmlspecialchars($_POST['email']).'</br> Ensuite <u>votre message:</u> '.nl2br (htmlspecialchars ($_POST['message'])).'<br> 
    						    <form method="POST" action="result_voeux.php" >
    						        <input type="hidden" name="civ2" value="'.$civ.'">
    	                            <input type="hidden" name="nom2" value="'.$nom.'">
    	                            <input type="hidden" name="prenom2" value="'.$prenom.'">
    	                            <input type="hidden" name="contact2" value="'.$contact.'">
    	                            <input type="hidden" name="email2" value="'.$email.'">
    	                            <input type="hidden" name="message2" value="'.$message.'"> </br>
    	                            '.'date : '. date("y-m-d").'<br>
    							   <input type="submit" name="annuler" value="Annuler"> &nbsp; &nbsp
    	                           <input type="submit" name="confirmer" value="Confirmer">
    					       </form>';
    					    }   
    						?>	  
    						<?php
    						if(isset($_POST['confirmer']))
    						{
    						//récupération des variables issues de la confirmation
    							$civ2=isset($_POST['civ2']) ? $_POST['civ2'] : '' ;
                                $nom2 = isset($_POST['nom2']) ? $_POST['nom2'] : '' ;
                                $prenom2 = isset($_POST['prenom2']) ? $_POST['prenom2'] : '' ;
                                $contact2= isset($_POST['contact2']) ? $_POST['contact2'] : '';
    							$email2= isset($_POST['email2']) ? $_POST['email2'] : '';
    							$message2= isset($_POST['message2']) ? $_POST['message2'] : '';
    							$today2 = date('y-m-d');
     
    							try
    		                        {
    		                            //On se connecte à mysql
    		                            $bdd = new PDO ('mysql:host=localhost;dbname=bdsogim', 'root', '');
    		                        }
    		                            catch(Exception $e)
    			                            {
    				                            //En cas d'erreur, on affiche un message et on arrète tout
    				                            die('Erreur:'.$e->get_Message());
    				                        }	
    						 $req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    						  VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
    						$req->execute(array(
    						'civ2'=>$_POST['civ2'], 'nom2'=>$nom2, 'prenom2'=>$prenom2, 'contact2'=>$contact2, 'email2'=>$email2, 'message2'=>$message2, 
    						  'today2'=>$today2)) or die (print_r($req->errorInfo())); 
     
    						   $req->closeCursor();
    							echo ' <h4>Votre demande a bien été enregistré!</h4>';
    							echo ' <h4>Merci de nous avoir écrit!</h4>';
    						}
                                else
    							    {
    						                    location:header('voeux.php');
     
    							    }							
                          ?>
    		        </div>
    					<?php
                            include('new_footer.php');
                        ?>					  	
    		    </section> 
            </div>  	    
    	    </body>
    		    <script src="js/jquery.js">	</script>
    			<script src="js/bootstrap.min.js"></script>
    	</html>
    Ce code m'ffiche une erreur de ce genre:
    Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1
    dont je ne comprends pas. Merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	 $req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    	  VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
    	$req->execute(array(
    	'civ2'=>$_POST['civ2'], 'nom2'=>$nom2, 'prenom2'=>$prenom2, 'contact2'=>$contact2, 'email2'=>$email2, 'message2'=>$message2, 
    	  'today2'=>$today2)) or die (print_r($req->errorInfo()));
    Il manque les ":" :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	$req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    	VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
    	$req->execute(array(
    		':civ2'=>$_POST['civ2'], 
    		':nom2'=>$nom2, 
    		':prenom2'=>$prenom2, 
    		':contact2'=>$contact2, 
    		':email2'=>$email2, 
    		':message2'=>$message2, 
    		':today2'=>$today2
    		)) or die (print_r($req->errorInfo()));

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2016
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2016
    Messages : 112
    Par défaut
    Bonjour doyen. Je ne veux pas l'affichage sur le site mais plutot les informations doivent aller dans la base de données. La page traite seulement les données pour les enregistrer dans la bd.

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Busima Voir le message
    Bonjour doyen. Je ne veux pas l'affichage sur le site mais plutot les informations doivent aller dans la base de données. La page traite seulement les données pour les enregistrer dans la bd.


    Alors le vieux ?!!? tu ne comprends pas ce que te demande le monsieur
    Il ne tape pas assez fort sur son clavier ? C'est ça !??!?

    Bonne chance doyen


  5. #5
    Invité
    Invité(e)
    Par défaut
    Non mais dites donc ?!

    J'ai encore toutes mes dents !!

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je vais poser une question bête. Pourquoi dans le code suivant utilises-tu directement $_POST['civ2'] :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $req->execute(array(
            'civ2' => $_POST['civ2'],
            'nom2' => $nom2,
            'prenom2' => $prenom2,
            'contact2' => $contact2,
            'email2' => $email2,
            'message2' => $message2,
            'today2' => $today2
        )) or die(print_r($req->errorInfo()));
    Alors que juste au dessus tu réalises un contrôle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $civ2 = isset($_POST['civ2']) ? $_POST['civ2'] : '';
    ?

    Et effectivement, jreaux a raison, il faut les : devant les noms des marqueurs dans l'appel à execute :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        $req = $bdd->prepare('INSERT INTO voeux_clients(civ2, nom2, prenom2, contact2, email2, message2, today2) 
    						  VALUES(:civ2, :nom2, :prenom2, :contact2, :email2, :message2, :today2)');
        $req->execute(array(
            ':civ2' => $civ2,
            ':nom2' => $nom2,
            ':prenom2' => $prenom2,
            ':contact2' => $contact2,
            ':email2' => $email2,
            ':message2' => $message2,
            ':today2' => $today2
        )) or die(print_r($req->errorInfo()));


    @jreaux : T'es inscrit depuis près de 8 ans, c'est vieux 8 ans pour un dalmatien
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

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

Discussions similaires

  1. #1054 - Unknown column 'created_at' in 'field list'
    Par Jeandu44 dans le forum Requêtes
    Réponses: 8
    Dernier message: 02/05/2016, 14h30
  2. #1054 - Unknown column 'dateRecherche' in 'where clause
    Par omelhor dans le forum Requêtes
    Réponses: 5
    Dernier message: 30/12/2011, 11h01
  3. 1054 - Unknown column 'L' in 'field list'
    Par Pacman23 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 05/10/2009, 10h12
  4. erreur : #1054 - Unknown column 'Martin' in 'where clause'
    Par éric1 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/08/2009, 15h29
  5. 1054 - Unknown column 'language_id' in 'where clause'
    Par Tonio_17000 dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/06/2009, 22h01

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