Подтвердить что ты не робот

Ошибка 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());

Что означает ошибка?

4b9b3361

Ответ 1

У вас есть 9 полей, но только 8 значений. Попробуйте добавить метод.

Ответ 2

Число параметров столбца в вашем запросе на вставку равно 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')

Удачи!

Ответ 3

В вашем запросе есть 8 или, возможно, даже 9 переменных, т.е. Имя, описание и т.д. Но значения, эти вещи --- > '', '%s', '%s', '%s', '%s', '%s', '%s', '%s')", всего 7, число переменных должно быть таким же, как значения.

У меня была такая же проблема, но я понял это. Надеюсь, он также сработает для вас.