2016-07-26 11 views
-1

Hier ist der Code:PDO nicht Datenbank veröffentlichen

$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); 

Dies keinen Fehler wirft. Ich habe var_dump verwendet, um zu sehen, ob $phone, $fdate und $customer_id gültig sind und sie sind.

Ich vermute, es gibt ein Problem in meiner Aussage irgendwie. Ich habe alle $dbh Zeilen der Einfachheit halber ausgeschlossen, aber ich habe getestet und weiß, dass diese auch korrekt sind.

+3

Anmerkung: benannte Platzhalter müssen nicht – Ghost

+0

@Ghost Was ist '$ fdate' zitiert werden? – jonmrich

Antwort

1

Entfernen Sie die Anführungszeichen aus den Feldern und den Doppelpunkt in den Schlüsseln des Arrays innerhalb der Methode execute. Sie brauchen nicht it.See unter:

$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);