Неустранимая ошибка: Uncaught PDOException: SQLSTATE [HY093]: неверный номер параметра: параметр не был определен - PullRequest
0 голосов
/ 04 ноября 2019

Я получаю

Неустранимая ошибка: Uncaught PDOException: SQLSTATE [HY093]: Неверный номер параметра: параметр не был определен "... PDOStatement-> execute () # 1 {main} в строке 61. Строка 61: $ stmt-> execute ();

$add_joke = filter_input(INPUT_POST, 'add_joke');

if ($add_joke != NULL){
    $actual_date = date('Y-m-d');
    $actual_id = null;

    $sql = 'INSERT INTO joke (id, JokeText, Joke Date) VALUES (:id, :JokeText, :Joke Date)';
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(':id', $actual_id);
    $stmt->bindParam(':JokeText', $add_joke);
    $stmt->bindParam(':Joke Date', $actual_date);
    $stmt->execute();

}

Ответы [ 2 ]

1 голос
/ 04 ноября 2019

Вероятной проблемой является использование 'Joke Date' , в котором есть пробел.

Ваше наименование выглядит немного запутанным. Вы можете изменить Joke Date на JokeDate или Joke_Date или joke_date или просто date или date_created в зависимости от ваших соглашений об именах.

1 голос
/ 04 ноября 2019

Вы используете MySQL? В любом случае, попробуйте изменить код для current_id: измените его на 0 или удалите его из запроса и укажите его как первичный ключ с автоинкрементом в вашей таблице. Если вы действительно хотели добавить значение NULL (по любой причине), просто удалите его из запроса формы и сделайте поле таблицы обнуляемым.

Также не уверен, что вы можете использовать пробел в ': Joke Date'

Наконец, не очень хорошая идея использовать что-то вроде

if ($add_joke != NULL)

в коде PHP

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...