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的个数必须与这个值相同。
我有同样的问题,但我知道了。 希望它也能为你工作。