Champs id auto_increment [Résolu]

Messages postés
54
Date d'inscription
mercredi 4 mai 2005
Dernière intervention
10 septembre 2012
- - Dernière réponse : younes371
Messages postés
505
Date d'inscription
mercredi 29 décembre 2004
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
505
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
20 mars 2012
3
Merci
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(.......

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de younes371
Messages postés
505
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
20 mars 2012
0
Merci
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.
Commenter la réponse de younes371
Messages postés
505
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
20 mars 2012
0
Merci
Merci d'ecrire la requette et les champs des formulaires ici !
Commenter la réponse de younes371
Messages postés
505
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
20 mars 2012
0
Merci
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.
Commenter la réponse de younes371
Messages postés
54
Date d'inscription
mercredi 4 mai 2005
Dernière intervention
10 septembre 2012
0
Merci
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
Commenter la réponse de daporoty
Messages postés
505
Date d'inscription
mercredi 29 décembre 2004
Dernière intervention
20 mars 2012
0
Merci
donc ça marche !
bon courage !.
n hesites pas de mettre tes problemes ici !
Commenter la réponse de younes371

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.