PHP,MySQL错误:列数不匹配第1行的值计数

我得到这个错误:

Column count doesn't match value count at row 1

从下面的代码:

 $name = $_GET['name']; $description = $_GET['description']; $shortDescription = $_GET['shortDescription']; $ingredients = $_GET['ingredients']; $method = $_GET['method']; //$image = $_GET['image']; $username = $_GET['username']; $length = $_GET['length']; $dateAdded = uk_date(); $conn = mysql_connect('localhost', 'dbname', 'pass'); mysql_select_db('dbname'); $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)); $result = mysql_query($query) or die(mysql_error()); 

错误是什么意思?

你有9个字段列出,但只有8个值。 尝试添加该方法。

插入查询中列参数的数量是9,但您只提供了8个值。

 INSERT INTO dbname (id, Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s') 

查询应该省略“id”参数,因为它是自动生成的(或者无论如何):

 INSERT INTO dbname (Name, Description, shortDescription, Ingredients, Method, Length, dateAdded, Username) VALUES ('', '%s', '%s', '%s', '%s', '%s', '%s', '%s') 

祝你好运!

你的查询有8甚至9个variables,即。 名称,描述等等,但是这些东西—> '', '%s', '%s', '%s', '%s', '%s', '%s', '%s')" ,总共只有7个,variables的个数必须与这个值相同。

我有同样的问题,但我知道了。 希望它也能为你工作。