Ошибка базы данных: SQLSTATE [HY093]

76
5

<?php

include_once __DIR__ . '/../includes/DatabaseConnection.php';
include_once __DIR__ . '/../includes/totalJokes.php';

function query($pdo,$sql,$parameters=[]){
$query = $pdo->prepare($sql);
foreach($parameters as $name=>$value){
$query->bindValue($name,$value);
}
$query->execute();
return $query;
}
function getJoke($pdo,$id){

$query = 'SELECT * FROM 'joke' WHERE 'id'= :id';
$parameters = [':id'=>$id];
$row = query($pdo,$query,$parameters);
return $row->fetch();
}

function insertJoke($pdo,$joketext,$authorid){
$parameters = [':joketext'=>$joketext,'authorid:'=>$authorid];
$query = 'INSERT INTO 'joke' SET 'joketext'= :joketext,
'jokedate' = CURDATE(), 'authorid'= :authorid';
query($pdo,$query,$parameters);
}
function updateJoke($pdo,$id,$joketext,$authorid){
$parameters = [':authorid'=>$authorid, ':joketext'=> $joketext, ':id'=>$id];
$query = 'UPDATE 'joke' SET 'authorid'= :authorid,'joketext'= :joketext WHERE 'id'= :id';
query($pdo,$query,$parameters);

}
?>

Я получаю следующую ошибку при вызове функции insertJoke().

Ошибка базы данных: SQLSTATE [HY093]: недопустимый номер параметра: параметр не определен в: /home/vagrant/Code/Project/includes/DatabaseFunctions.php11

спросил(а) 2018-03-19T06:32:00+03:00 2 года, 4 месяца назад
1
Решение
67

Вы передаете недопустимый параметр.

authorid: не существует. Ответ : должен быть до не после

$parameters = [':joketext'=>$joketext,':authorid'=>$authorid];

ответил(а) 2018-03-19T06:37:00+03:00 2 года, 4 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема