[RESOLU] erreur de requete

Eléphanteau du PHP | 38 Messages

25 mai 2015, 20:36

Bonsoir,
J'ai un souci sur une requête préparée et je ne trouve pas d'où vient l'erreur, quelqu'un peut m'aider.

$affich = $bdd->prepare('SELECT codef FROM famille where nom =:x');
$affich->execute(array('x'=>$h));
$table=$affich->fetch();
echo $table['codef'];
$req = $bdd->prepare(' INSERT INTO produit( codef , imag , couleur , prix , carac , codep ) VALUES ( :codef , :imag , :couleur , :prix , :carac , :codep ) ');

$fich=$req->execute(array(
'codef' => $table['codef'],
'imag' => $im,
'couleur' => $coulr,
'prix' => $prix,
'carac' => $disc,
'codep' => $codep
));


erreur :

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]: Column not found: 1054 Unknown column 'couleur' in 'field list'' in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projet\ajout2_prod.php:115 Stack trace: #0 C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projet\ajout2_prod.php(115): PDOStatement->execute(Array) #1 {main} thrown in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projet\ajout2_prod.php on line 115


ligne 115

));

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

25 mai 2015, 21:35

Il s'agit d'une erreur SQL : Uncaught exception 'PDOException' with message 'SQLSTATE[42S22]
Le message d'erreur indique " Column not found: 1054 Unknown column 'couleur' "

Dans ta requête tu essayes d'insérer une valeur dans la colonne "couleur", mais ta table ne contient visiblement pas de colonne de ce nom.
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 38 Messages

25 mai 2015, 21:46

dans ma table produit j'ai la colonne couleur :'(

Eléphanteau du PHP | 38 Messages

26 mai 2015, 00:47

qu'est ce que je vais faire quand mysql ne reconnais pas mes table créer dans une base (création manuelle ) :?: :cry:

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

26 mai 2015, 10:52

Vérifies ou montre nous la structure de ta table en base, il se peut que tu ais fait une erreur dans le libellé de ta colonne :)

Dans le doute, affiche la requête SQL d'insertion que tu génères avec php et exécute celle-ci directement dans Mysql (avec phpMyAdmin ou autre), le message d'erreur sera peut être plus explicite pour te permettre de trouver l'origine de l'anomalie :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 38 Messages

26 mai 2015, 16:42

merci beaucoup monsieur Ryle s’était un problème d'espace dans la colonne .