Rechercher : dans
Par :

Column count doesn't match value count at row

Dernière réponse le 5 jun 2009 à 13:57:30 AWare, le 5 jun 2009 à 09:49:07 
 Signaler ce message aux modérateurs

Bonjour,

Je suis en train de créer un espace membre, en php et j'ai une erreur que je ne comprend pas qui s'affiche :

insert into egw_agw_accounts values (1,"qzkqsa6l7uppka0f602y","brutus","tagaok12","brutus.mechant@gmail.com")Column count doesn't match value count at row 1.


Voici le tronçons de code concérné:

                                // CREATION D'UN IDENTIFIANT ALEATOIRE
                                $taille = 20;
                                $lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
                                srand(time());
                                for ($i=0;$i<$taille;$i++)
                                {
                                    $id.=substr($lettres,(rand()%(strlen($lettres))),1);
                                }

                                // ON RECHERCHE L'ID MAXIMUM DE LA TABLE
                                $requete=mysql_db_query($sql_bdd,"select max(account_id) from egw_agw_accounts",$db_link) or die(mysql_error());
                                $idmax=mysql_result($requete,0,"max(account_id)");

                                // INSERTION DANS LA TABLE
                                $idnew=$idmax+1;
                                echo "insert into egw_agw_accounts values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\",\"$email\")";
                                $requete=mysql_db_query($sql_bdd,"insert into egw_agw_accounts values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\",\"$email\")",$db_link) or die(mysql_error());


                                // CHAMPS SUPLEMENTAIRES, compl&#65533;tez la requ&#65533;te pr&#65533;c&#65533;dente en ajoutant les variables et en respectant l'ordre des colonnes de la table. Exemple :
                                // insert into membre values ($idnew,\"$id\",\"$pseudo_membre\",\"$passe_membre\",\"$email\",\"$ville\")
                                //
                                // REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
                                echo "Merci, vous &#65533;tes bien enregistr&#65533;. Cliquez <a href=\"$zone_membre?id=$id\">ici</a> pour entrer dans votre espace priv&#65533;.";




Merci pour l'attention que vous porterez à mon soucis
Configuration: Linux
Firefox 3.0.10

1

jeangilles, le 5 jun 2009 à 09:51:37

Ca veut dire que dans ta requete d'insertion tu as mis trop/pas assez de valeurs à mettre dans la table (il doit te manquer un champs ou tu en as un de trop)

on peut voir comment est faite ta table egw_agw_accounts ?

Répondre à jeangilles

2

AWare, le 5 jun 2009 à 09:59:03

Oui bien sure , la voici :

egw_agw_accounts nom de la table
account_id identifiant d'un utilisateur
account_name représentant le nom d’utilisateur du visiteur
account_pwd mot de passe d'un utilisateur
account_mail représentant l’adresse e-mail du visiteur
account_inscription représentant le timestamp de la date d’inscription
account_active nous informera si le compte est actif ou non
account_type type du compte utilisateur (client, ou salarié)
account_clef_activation représentera la clef permettant d’activer le compte utilisateur

Que dois je faire? suis-je vraiment obligé de mettre tout les champs dans mon insert ?

Répondre à AWare

3

jeangilles, le 5 jun 2009 à 10:03:44

Non, tu peux aussi définir les champs de la table que tu veux remplir
par exemple là ca donnerai quelquechose du genre :

insert into egw_agw_accounts(account_id,account_clef_activation,account_­name,account_pwd,account_mail) values (1,"qzkqsa6l7uppka0f602y","brutus","tagaok12","brutus.mechant@gmail.com")

(je suppose que qzkqsa6l7uppka0f602y correspond à la clef d'activation ^^)

Répondre à jeangilles

4

AWare, le 5 jun 2009 à 10:39:09

Aie aie aie ...ça ne marche toujours pas -_-...

Répondre à AWare

5

AWare, le 5 jun 2009 à 10:52:57

C'est bon j'ai résolut le problème :D!

Maintenant j'au une petite question, comment faire pour que le message suivant ne s'affiche pas ainsi:

 Merci, vous êtes bien enregistré. Cliquez ici pour entrer dans votre espace privé. 


mais ainsi :
 Merci, vous êtes bien enregistré. Cliquez ici pour entrer dans votre espace privé. 

Répondre à AWare

6

 jeangilles, le 5 jun 2009 à 13:57:30

Une solution serait de définir le charset Windows-1252 :

dans ton head, tu rajoutes la ligne suivante :
<meta http-equiv="Content-type" content="text/html;charset=WINDOWS-1252" />

Répondre à jeangilles
Collection CommentÇaMarche.net