Я пытаюсь выполнить скрипт для обновления базы данных:SQL заявление терпит неудачу под Perl, но работает из командной строки
my $sql_hash_update = 'UPDATE user SET hash = $hash , updated = 1 WHERE id = $row[0]';
my $sth_hash_update = $dbh->prepare($sql_hash_update);
$sth_hash_update->execute();
Я получаю ошибку, что это не правильный синтаксис, но это работает в самой SQL ,
DBD :: mysql :: st execute failed: У вас возникла ошибка в синтаксисе SQL; проверьте руководство, которое соответствует версии сервера MariaDB для правильный синтаксис для использования вблизи «[0]» в строке 1 на conexion.pl линии 32.
Любые идеи, что я делаю не так?
Можете ли вы напечатать '$ sql_hash_update' и поделиться результатами с нами? Кроме того, если вы используете подготовленный оператор, зачем использовать подстановку переменных при построении SQL? – Mureinik
@Mureinik Я сам получаю переменные. Я попытаюсь объединить переменные вместо их добавления, как если бы это был PHP. – prgrm
@PathikVejani: Пожалуйста, удалите свой комментарий; это вводит в заблуждение. – Borodin