Я получаю эту ошибку:
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 переменных, т.е. Имя, описание и т. Д. Но значения, эти вещи —> '', '%s', '%s', '%s', '%s', '%s', '%s', '%s')"
, всего всего 7, число переменных должно быть таким же, как и значения.
У меня была такая же проблема, но я понял это. Надеюсь, это также сработает для вас.