daporoty
Messages postés54Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention10 septembre 2012
-
27 oct. 2006 à 10:43
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 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.
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 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(.......
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 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.
younes371
Messages postés502Date d'inscriptionmercredi 29 décembre 2004StatutMembreDernière intervention20 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
daporoty
Messages postés54Date d'inscriptionmercredi 4 mai 2005StatutMembreDernière intervention10 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.