Page 1 sur 1

erreur sql

Posté : 10 juil. 2005, 17:15
par Cypher_PHP
salut

voici le message d'erreur SQL:
Column count doesn't match value count at row 1
voici le fichier Form.php:
<?php 
require_once('config.php');
?>
<html>
<body>
<form method="POST" action="valide.php">
Nom: <input type=text name="name"  value="<?php echo $name ?>"><br>
Prénom: <input type=text name="prenom" value="<?php echo $prenom ?>"><br>
<input type=submit value="Enregistrer">
</form>
</body>
</html>

voici le fichier valide.php:
<?php 
require_once('config.php');
    
    // --- Récupération des données du formulaire
$prenom = $_POST['prenom'];
$name    = $_POST['name'];

$RecorInsert = "INSERT INTO $dbtable VALUES ('$name', '$prenom')";
mysql_query($RecorInsert) or die(mysql_error()); 
//echo $name ;<br>
//echo $prenom;

?>
Cordialement
Cypher_PHP

Posté : 10 juil. 2005, 17:25
par ouckileou
c'est un peu brut comme message.... :)

signification de l'erreur : tu insères deux valeurs dans une table qui contient plus de 2 champs
donc tu dois préciser dans quels champs tu souhaites insérer ces données

ce message d'erreur u as du le récupérer avec mysql_error(), donc ça veut dire que cela concerne un problème au niveau de ta requête SQL, pas du PHP

Posté : 10 juil. 2005, 17:32
par Cypher_PHP
enfin

ca marche

merci bcp à vous de m'avoir aidé à résoudre

j'ai corrigé
$RecorInsert = "INSERT INTO $dbtable VALUES ('', '$name', '$prenom')";
l'ancien:
$RecorInsert = "INSERT INTO $dbtable VALUES ('$name', '$prenom')";
Cordialement
Cypher_PHP

Posté : 10 juil. 2005, 17:37
par ouckileou
hum, effectivement ça doit marcher, mais une solution plus classique et plus propre à mon avis aurait été de faire :
$RecorInsert = "INSERT INTO $dbtable (colonne1, colonne2) VALUES ('$name', '$prenom')";
parceque là si tu rajoutes une colonne à ta table ta requête ne fonctionne plus ;)