Php PDO未过帐到数据库
代码如下:Php PDO未过帐到数据库,php,mysql,pdo,Php,Mysql,Pdo,代码如下: $sql1 = "UPDATE muted_alerts SET `customer_id`=':customer_id', `sms_time` = '$fdate', `phone`=':phone'"; $stmt = $dbh->prepare($sql1, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY) ); $stmt->execute(array(':phone' => $phone,':custo
$sql1 = "UPDATE muted_alerts SET `customer_id`=':customer_id', `sms_time` = '$fdate', `phone`=':phone'";
$stmt = $dbh->prepare($sql1, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY) );
$stmt->execute(array(':phone' => $phone,':customer_id'=>$customer_id));
$result1 = $stmt->fetchAll(PDO::FETCH_ASSOC);
这不会出错。我使用了var\u dump
来查看$phone
、$fdate
和$customer\u id
是否有效
我猜我的陈述有点问题。为了简单起见,我排除了所有
$dbh
行,但我已经测试过,并且知道这些行也是正确的。删除execute方法中数组键中的引号和冒号。您不需要它。请参见以下内容:
$sql1 = "UPDATE muted_alerts SET customer_id=:customer_id, sms_time = :f_date, phone=:phone";
$stmt = $dbh->prepare($sql1, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY) );
$stmt->execute(array('phone' => $phone,'f_date' => '$fdate','customer_id'=>$customer_id));
$result1 = $stmt->fetchAll(PDO::FETCH_ASSOC);
注意:命名占位符不需要quoted@Ghost那么,
$fdate
呢?