Erreur Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'XXX' in 'field list' ) 1"

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com
Partager sur FacebookPartager sur TwitterPartager sur Google+

Erreur Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'XXX' in 'field list' ) 1"

Messagepar Kipper » 11 Mai 2016 à 05:31

Bonjour, je suis débutant en PDO et je suis entrain de faire une migration de mes codes du procedural vers PDO. Cependant une erreur survient sur une de mes pages actuellement. Je dois normalement enregistrer les données isues d'un formulaire "voeux.php" dans une bd à travers une page de traitement du formulaire "result_voeux.php". Mais cette page m'affiche une erreur que je ne connais pas la provenance. Voici l'erreur: Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1
Poutant ce champ"civ2" existe belle et bien. Merci de m'aider.


voici la page du formulaire:
Code: Tout sélectionner
<! DOCTYPE html>
<html>
    <head><title>voeux</title>
	    <link rel="stylesheet" href="sogim.css" />
		<link rel="stylesheet" href="voeux.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'); ?>
			<section class="row">
			    <article class="col-md-12 col-sm-12 col-xm-12">
                    <h2>Remplissez ces champs et faites nous parvenir votre message svp!</h2>
                    <h3><u>Formulaire:</u></h3>
                    <form name="inscription" method="post" action="result_voeux.php">
				        Mr<input type="radio" name="civ" value="Mr"> 
					    Mme<input type="radio" name="civ" value="Mme"> 
					    Mlle<input type="radio" name="civ" value="Mlle"> </br></br>
                        Votre Nom :  &nbsp;&nbsp;<input type="text" name="nom"/> <br/><br/>
                        Vos prenoms: <input type="text" name="prenom"/> </br><br/>
                        Vos contacts :<input type="text" name="contact"/><br/><br/>
					    Votre email : <input type="email" name="email"/><br/>
					    <p class="msg">
					        <h3><u>Votre Message ici:</u></h3>
                              
             					    <textarea name="message" rows="10" cols="45" placeholder="Votre message ici">
								  
								    </textarea>
								    <input type="submit" name="valider" value="Valider"/>
							    
					    </p>
					</form>
				</article>
			</section>
	    </div> 
					<?php
					    include ('new_footer.php');
					?>
					<script src="js/jquery.js">	</script>
				    <script src="js/bootstrap.min.js"></script>
</body>
</html>


Ensuite voici le code de la page de traitement "result_voeux.php":
Code: Tout sélectionner
<!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', '');
									//$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
									$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
		                        }
		                            catch(Exception $e)
			                            {
				                            //En cas d'erreur, on affiche un message et on arrète tout
											$bdd->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_WARNING);
				                            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>


Après exécution, voici le message d'erreur qu'on m'affiche:
Warning: PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'civ2' in 'field list' in C:\wamp\www\BUCOGIM\result_voeux.php on line 82
Call Stack
# Time Memory Function Location
1 0.0010 397512 {main}( ) ..\result_voeux.php:0
2 0.0496 406368 PDOStatement->execute( ) ..\result_voeux.php:82
Array ( [0] => 42S22 [1] => 1054 [2] => Unknown column 'civ2' in 'field list' ) 1

Merci pour le temps que vous accorderez à l'analyse de ma préoccupation.
Kipper
Posteur néophyte
Posteur néophyte
 
Messages: 1
Enregistré le: 11 Mai 2016 à 04:08

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Bing [Bot] et 5 invités