Champs id auto_increment

Résolu
daporoty Messages postés 54 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 10 septembre 2012 - 27 oct. 2006 à 10:43
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012 - 27 oct. 2006 à 16:46
Bonjour,

J'ai fait une table avec 22 champs, et un formulaire (1) pour les remplir.
Puis, pour les besoins d'un formulaire (2) de recherche, j'ai rajouté un champs id en auto_increment au debut de la table.
Du coup, j'ai une erreur quand j'utilise le formulaire (1) :

Erreur SQL ! Column count doesn't match value count at row 1

Apparemment le problème vient de ce nouveau champs dans la table. Je ne sais pas comment modifier le formulaire pour que ca marche, sachant que l'id n'est pas un paramètre à rentrer par l'utilisateur.

Auriez vous une idée pour résoudre ce problème ?





DapORoty

6 réponses

younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
27 oct. 2006 à 12:57
le probleme est ds ton insert tu fs :

<?
$sql = "INSERT INTO modernes (faciale,mellesime,..........,remarques)
VALUES('".$_POST["faciale"]."','".addslashes($_POST["millesime"])."','".addslashes($_POST["atelier"])."','".addslashes($_POST["frappe"])."','".addslashes($_POST["graveur"])."','".addslashes($_POST["nature"])."','".addslashes($_POST["poids"])."','".addslashes($_POST["diamètre"])."','".addslashes($_POST["tranche"])."','".addslashes($_POST["axe"])."','".addslashes($_POST["gravureavers"])."','".addslashes($_POST["gravurerevers"])."','".addslashes($_POST["reference"])."','".addslashes($_POST["tirage"])."','".addslashes($_POST["photo"])."','".addslashes($_POST["collection"])."','".addslashes($_POST["vente"])."','".addslashes($_POST["date"])."','".addslashes($_POST["localite"])."','".addslashes($_POST["etat"])."','".addslashes($_POST["valeur"])."','".addslashes($_POST["commentaires"])."','".addslashes($_POST["remarques"])."')";
mysql_query($sql)
or die('Erreur SQL !'.$sql.''.mysql_error());

echo '

<center>La nouvelle référence a été enregistrée avec succès.
[javascript:history.back() RETOUR]</center>';
mysql_close();

?>
 puisque tu mets pas la valeur du champs ID, alors tu dois specifier les champs oû la requette insert fera une insertion ....
ou tu fs comme ça :
$sql = "INSERT INTO modernes VALUES(VALUES( ' ' , ' ''.addslashes(.......
3
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
27 oct. 2006 à 12:01
Pour le formulaire (1) j ai compris comment son fonctionnement, mais pour le formulaire (2) c koi son utilité?.
Cette erreur indique que la requête SQL et la structure d'une des tables ne concordent pas.
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
27 oct. 2006 à 12:04
Merci d'ecrire la requette et les champs des formulaires ici !
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
27 oct. 2006 à 12:05
Ca vient peut-être bien de ton INSERT, le nombre de colonnes que tu cherches à insérer ne correspond pas avec la table. Il faudrait vérifier dans la base.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
daporoty Messages postés 54 Date d'inscription mercredi 4 mai 2005 Statut Membre Dernière intervention 10 septembre 2012
27 oct. 2006 à 12:44
Le problème est bien la, il y a 23 champs dans le formulaire et 24 dans la table (23 +  id). Le nombre de champs est discordant, cependant, il n'y a que 23 champs destinés à l'utilisateur puisque le champs id est auto_increment.
Voici le fichier valide.php appelé par le formulaire (1).

<?PHP


include("_connexion.php"); ?>


<?
$sql = "INSERT INTO modernes
VALUES('".$_POST["faciale"]."','".addslashes($_POST["millesime"])."','".addslashes($_POST["atelier"])."','".addslashes($_POST["frappe"])."','".addslashes($_POST["graveur"])."','".addslashes($_POST["nature"])."','".addslashes($_POST["poids"])."','".addslashes($_POST["diamètre"])."','".addslashes($_POST["tranche"])."','".addslashes($_POST["axe"])."','".addslashes($_POST["gravureavers"])."','".addslashes($_POST["gravurerevers"])."','".addslashes($_POST["reference"])."','".addslashes($_POST["tirage"])."','".addslashes($_POST["photo"])."','".addslashes($_POST["collection"])."','".addslashes($_POST["vente"])."','".addslashes($_POST["date"])."','".addslashes($_POST["localite"])."','".addslashes($_POST["etat"])."','".addslashes($_POST["valeur"])."','".addslashes($_POST["commentaires"])."','".addslashes($_POST["remarques"])."')";
mysql_query($sql)
or die('Erreur SQL !'.$sql.''.mysql_error());


echo '

<center>La nouvelle référence a été enregistrée avec succès.
[javascript:history.back() RETOUR]</center>';
mysql_close();


?>

Le formulaire (2), indépendant, est un formulaire pour rechercher un enregistrement dans la base avec trie sélectif et c'est pour lui que j'ai rajouté un champ id dans la table.

Il y a certainement une modification a faire dans le fichier exposé ci-dessus.





DapORoty
0
younes371 Messages postés 502 Date d'inscription mercredi 29 décembre 2004 Statut Membre Dernière intervention 20 mars 2012
27 oct. 2006 à 16:46
donc ça marche !
bon courage !.
n hesites pas de mettre tes problemes ici !
0
Rejoignez-nous