Prob d'enregistrement php dans une base sql

Résolu/Fermé
whiny Messages postés 20 Date d'inscription mardi 4 septembre 2007 Statut Membre Dernière intervention 1 juin 2009 - 15 nov. 2007 à 00:05
whiny Messages postés 20 Date d'inscription mardi 4 septembre 2007 Statut Membre Dernière intervention 1 juin 2009 - 15 nov. 2007 à 11:04
Bonjour,

j'ai un petit prob j'ai créé une table users dans laquel j'ai mis un id en autoincrément et les autres champs login,pass_md5,nom,prenom,membre,grade,dan,age,ville,commentaire.

j'ai un formulaire et qd je clique sur enregistre il me dit

INSERT INTO users (login,pass_md5,nom,prenom,membre,grade,dan,age,ville,commentaire) VALUES('pom','ea416ed0759d46a8de58f63a59077499','lolo','lulu','oui','noir','','24','Tournai','belgique','lolo')
Column count doesn't match value count at row 1

Si je comprend bien il me dit qu'il manque ID mais je comprend pas pourquoi il me dit ca alors qu'il est en auto incrément...

voici ma partie traitement.php

<?php

if($_POST["login"] !="" && $_POST["pass"] !="")
{

	$login = $_POST["login"];
	$pass = md5($_POST["pass"]);
	$nom = $_POST['Nom'];
	$prenom = $_POST['prenom'];
	$membre = $_POST['membre'];
	$grade = $_POST['grade'];
	$dan = $_POST['dan'];
	$age = $_POST['age'];
	$ville = $_POST['ville'];
	$pays = $_POST['pays'];
	$commentaire = $_POST['commentaire'];

	//connexion au serveur
	$cnx = mysql_connect("localhost","root","xxxx7777","dbfasung");
	//sélection de la base de données
	$db = mysql_select_db("dbfasung");
	//création de la requête SQL
	$sql = "INSERT INTO users (login,pass_md5,nom,prenom,membre,grade,dan,age,ville,commentaire) VALUES('".$login."','".$pass."','".$nom."','".$prenom."','".$membre."','".$grade."','".$dan."','".$age."','".$ville."','".$pays."','".$commentaire."')";

	//exécution de la requête
	$requete = @mysql_query($sql, $cnx) or die($sql."<br>".mysql_error());
	//Si la requête s'est bien passé, on affiche un message de succès
	if($requete)
	{
		echo "L'inscription s'est bien déroulée, <a href=\"index.php\">se connecter</a>";
	}//fin if
	//sinon on retourne à la page d'inscription
	else
	{
		header("Location: inscrire.php");
	}//fin else
}//fin if

else
{
	header("Location: inscrire.php");
}//fin else
?>


J'ai essayé de rajouter id mais à ce moment la il décale tout ma table d'un rang conclusion le login disparait et le pass se met en md5 dasn login puis le reste se decale d'un rang... :s

je ne demande pas une réponse mais une petite explication :) d'un truc qui clocherait

d'avance merci :)
A voir également:

4 réponses

Utilisateur anonyme
15 nov. 2007 à 10:01
bonjour,

il me semble que sur la premier ligne il y a 11 champs(id,login,pass_md5,nom,prenom,membre,grade,dan,age,ville,commentaire)
alors que sur la deuxieme il y en a douze! ('','pom','ea416ed0759d46a8de58f63a59077499','lolo','lulu','oui','orange','','24','t ere','belgique','rRfE')

sur la premiere ligne il manque le champs "pays"
1
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
15 nov. 2007 à 01:29
salut,

pour un 'INSERT' il faut tous les champs et toutes les valeurs, si tu as un incrément tu envoies une chaîne vide.
INSERT INTO users (id, login,pass_md5,nom,prenom,membre,grade,dan,age,ville,commentaire) VALUES('', 'pom','ea416ed0759d46a8de58f63a59077499','lolo','lulu','oui','noir','','24','Tourna i','belgique','lolo') 
0
whiny Messages postés 20 Date d'inscription mardi 4 septembre 2007 Statut Membre Dernière intervention 1 juin 2009
15 nov. 2007 à 09:55
Salut, merci pour ta réponse

j'ai donc mis
$sql = "INSERT INTO users (id,login,pass_md5,nom,prenom,membre,grade,dan,age,ville,commentaire) VALUES('','".$login."','".$pass."','".$nom."','".$prenom."','".$membre."','".$grade."','".$dan."','".$age."','".$ville."','".$pays."','".$commentaire."')";


Mais il me dit la même chose

INSERT INTO users (id,login,pass_md5,nom,prenom,membre,grade,dan,age,ville,commentaire) VALUES('','pom','ea416ed0759d46a8de58f63a59077499','lolo','lulu','oui','orange','','24','tere','belgique','rRfE')
Column count doesn't match value count at row 1

Je comprend pas pq :/

Un autre prob que je vien de remarquer c'est qu'il enregistre pas 'dan' alors que les variables sont bonnes.
0
whiny Messages postés 20 Date d'inscription mardi 4 septembre 2007 Statut Membre Dernière intervention 1 juin 2009
15 nov. 2007 à 11:04
MERCIIII :) ct ca j'ai oublié pays
0