小编Stu*_*ks_的帖子

PDO更新不替换预准备语句中的占位符

我试图用以下代码更新表.如果我更改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 = …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

5
推荐指数
1
解决办法
2425
查看次数

标签 统计

mysql ×1

pdo ×1

php ×1