Maison >base de données >tutoriel mysql >Pourquoi est-ce que j'obtiens une erreur « Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1 » dans mon instruction MySQL INSERT ?
Erreur PHP, MySQL : écart dans le nombre de colonnes
L'erreur « Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1 » indique une incompatibilité entre le nombre de colonnes spécifié dans une instruction SQL INSERT et le nombre de valeurs fournies.
Dans ce cas précis, vous avez ce qui suit code :
$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description), mysql_real_escape_string($shortDescription), mysql_real_escape_string($ingredients), //mysql_real_escape_string($image), mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));
L'instruction SQL contient 9 colonnes : id, Name, Description, shortDescription, Ingrédients, Méthode, Longueur, dateAdded et Nom d'utilisateur. Cependant, vous ne fournissez que 8 valeurs : $name, $description, $shortDescription, $ingredients, $length, $dateAdded, $username et $method.
Pour résoudre l'erreur, vous devez ajouter le valeur manquante pour la colonne Méthode. Assurez-vous que vous capturez les données de méthode à partir de votre entrée. Une fois que vous avez fait cela, votre requête devrait être :
$query = sprintf("INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", mysql_real_escape_string($name), mysql_real_escape_string($description), mysql_real_escape_string($shortDescription), mysql_real_escape_string($ingredients), mysql_real_escape_string($method), mysql_real_escape_string($length), mysql_real_escape_string($dateAdded), mysql_real_escape_string($username));
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!