Я пытаюсь запустить следующий код, который находится на сервере innoDB, чтобы обновить значение таблицы, используя базовую форму запроса. но он продолжает показывать ошибку.
if(isset($_POST['col_opt']) &&
isset($_POST['val1']) &&
isset($_POST['where_opt']) &&
isset($_POST['val2'])
){
$col_name = $_POST['col_opt'];
$nvalue = $_POST['val1'];
$cond = $_POST['where_opt'];
$condval = $_POST['val2'];
DB::update("UPDATE animes SET ? = ? Where ? = ?",
[$col_name, $nvalue, $cond, $condval]);
sql получает значение всех переменных. Но это все еще показывает ошибку:
SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1064
У вас есть
ошибка в вашем синтаксисе SQL; проверьте руководство, которое соответствует вашему
Версия сервера MariaDB для правильного синтаксиса для использования рядом с '? знак равно Куда ?
знак равно в строке 1 (SQL: ОБНОВЛЕНИЕ аниме SET SET genre_id = 2, где anm_id = 4)
работает, когда имена столбцов задаются вручную.
Разве это не должно работать и в случае переменных?