inserer une date

Eléphanteau du PHP | 26 Messages

24 janv. 2012, 21:11

merci pour le cour mais maintenant il m'affiche
Erreur SQL ! INSERT INTO membre VALUES('Rémi1995', md5('bo81re'), NOW())
Column count doesn't match value count at row 1
voici le code
<?php
          $_SESSION['login'] = $_POST['login'];
          ?>
		 <?php
if( !empty($_POST) ){ // le formulaire n'est pas vide
  
                        $base = mysql_connect ('localhost', 'root', '');
                       mysql_select_db ('espace_membre', $base);
                          $sql = " INSERT INTO membre VALUES('" . $_POST['login'] . "', md5('" . $_POST['pass_md5'] . "'), NOW()) ";
                           mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
                      
}
    ?>
si vous pouvez m'aider encore sa serai sympa

ViPHP
xTG
ViPHP | 7331 Messages

24 janv. 2012, 22:25

Ta table membre possède plus ou moins que 3 colonnes.
Si tes autres colonnes sont facultatives dans ce cas il faut tout de même préciser les colonnes que tu impliques dans ta requête :
INSERT into maTable(colonne1, colonne5, colonne6) VALUES ('val1', 'val5', 'val6')

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

24 janv. 2012, 22:26

Ton erreur est maintenant au niveau du SQL. Tu tentes d'insérer 3 valeurs dans ta table membre (login, mdp et date), mais apparemment, ta table contient plus (ou moins) de trois champs et il ne sait donc pas quoi insérer où.

Pour ton insert, il faut soit :
- insérer une valeur pour chacun des champs de ta table (même si tu mets à null ceux qui n'ont pas de valeur), dans l'ordre de tes colonnes.
INSERT INTO ta_table VALUES ('val1', 'val2', null, 'val3', ...);
- spécifier dans ta requête les colonnes qui sont concernée (et l'ordre dans lequel elles sont concernées :
INSERT INTO ta_table (colonneX, colonneY) VALUES (val3, val2);
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphanteau du PHP | 26 Messages

25 janv. 2012, 10:30

j'ai fait comme on m'a dis mais ça m'affiche
Parse error: syntax error, unexpected ',' in C:\Program Files\EasyPHP-5.3.8.1\www\Espace_Membre\d.php on line 9
voici le code
<?php
          $_SESSION['login'] = $_POST['login'];
          ?>
		 <?php
if( !empty($_POST) ){ // le formulaire n'est pas vide
  
                        $base = mysql_connect ('localhost', 'root', '');
                       mysql_select_db ('espace_membre', $base);
					   $sql= 'INSERT INTO maTable(colonne2, colonne3, colonne4) VALUES '. $_POST['login'] ., . $_POST['pass_md5'] . , 'NOW()';
                           mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
                      
}
    ?>

ViPHP
xTG
ViPHP | 7331 Messages

25 janv. 2012, 10:33

$sql= 'INSERT INTO maTable(colonne2, colonne3, colonne4) VALUES '. $_POST['login'] .',' . $_POST['pass_md5'] . ', 'NOW()';
Et colonne2, colonne3 et colonne4 sont à remplacer par le nom de tes champs dans la table...

Eléphanteau du PHP | 26 Messages

25 janv. 2012, 11:31

merci sa marche