Я пытаюсь обновить один элемент в одной из моих таблиц с помощью подготовленного PDO оператора, и по какой-то причине он не работает. Я использую try-and-catch, и я не получаю ошибок в системе. Я также повторил оба моих связанных параметра, и они оба регистрируются в системе, поэтому я не знаю, почему это не проходит. Я использовал запрос, очень похожий на это в другом скрипте, и все было в порядке.
if($_POST['check_request'] == "Yes"){ $check_amnt = $_POST['check_amnt']; try { $STH = $DBH->prepare('UPDATE accounts SET check = :check_amnt WHERE accnt = :user'); $STH->bindParam(':check_amnt', $check_amnt); $STH->bindParam(':user', $ulog); $STH->execute(); } catch(PDOException $e) { echo "Check Input Error: " .$e->getMessage(). "</br>"; } }
Вы установили режим исключения для PDO
с:
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
Обновление: check
зарезервированные слова mysql, вам нужно избежать этого.
$STH = $DBH->prepare('UPDATE accounts SET `check` = :check_amnt WHERE accnt = :user');