Я хочу обновить несколько таблиц, как показано ниже:
for ($i=0; $i <count($tablesnames); $i++) {
$update3=$pdo->prepare('UPDATE :surveytable SET `postrecords`=:newrecord WHERE `id`=:id');
//var_dump()here
$update3->bindValue(':surveytable', $tablesnames[$i],PDO::PARAM_STR);
$update3->bindValue(':newrecord',$newrecord,PDO::PARAM_STR);
$update3->bindValue(':id',$id,PDO::PARAM_INT);
$update3->execute();
}
Проверьте результат var_dump, $tablesnames[$i]
и $newrecord
равны string
, $id
равно int
, $update3
равно false
.
Казалось, все в порядке, но не удалось,
Предупреждение: PDO :: prepare (): SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1064 В синтаксисе SQL есть ошибка; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с '? SET postrecords
=? ГДЕ id
=? '
В чем проблема?