Я пытаюсь обновить таблицу с помощью следующего кода. Если я изменю WHERE temp_booking_id = ':temp_booking_id'");
на использование фактического текущего сеанса temp_id
, запрос будет запущен, но добавит заполнители в таблицу (, например. :проверить -из )в качестве значения.
$data
содержит правильные значения, но не заменяет заполнители.
Смотрю на это часами и не могу понять, в чем проблема, и огляделся, но не нашел решения.
PDOStatement:errorInfo()
возвращается
PDOStatement::errorInfo(): Array ( [0] => 00000 )
и если я уберу кавычки вокруг заполнителей, он вернет
PDOStatement::errorInfo(): Array ( [0] => HY093 )
Любые идеи?
try {
$data = array(
'temp_booking_id' => $_SESSION['temp_id'],
'check_in' => $in,
'check_out' => $out,
'adults' => $a,
'children1' => $c1,
'children2' => $c2,
'infants' => $i,
'cots' => $c,
'promo_code' => $pc
);
$STH = $DBH->prepare("UPDATE b_temp_booking
SET check_in = ':check_in',
check_out = ':check_out',
adults = ':adults',
children1 = ':children1',
children2 = ':children2',
infants = ':infants',
cots = ':cots',
promo_code = ':promo_code'
WHERE temp_booking_id = ':temp_booking_id'");
$STH->execute($data);
echo "\nPDOStatement::errorInfo():\n";
$arr = $STH->errorInfo();
print_r($arr);
} catch(PDOException $e) {
echo 'ERROR: '. $e->getMessage();
}