1
我不明白爲什麼這個PDO語句將不會保存任何東西到數據庫:PDO->的execute()語句不會工作,語法正確
//guardamos en base
$conectar2 = new PDO('mysql:host='.HOST.'; dbname='.DATABASE.'; charset=utf8', USER, PASS);
$conectar2->beginTransaction();
$agregarData = $conectar2->prepare("
UPDATE mensajes
SET estadoMensaje = ?,
datosMensaje = ?
WHERE mensajeID = ?;
");
$agregarData->bindParam(1, $estadoMensaje);
$agregarData->bindParam(2, $data);
$agregarData->bindParam(3, $mensajeID);
$agregarData->execute();
echo '<br>Mensaje actualizado.';
我的錯誤日誌不會說任何東西。有什麼地方我可能錯過了?
我已經嘗試過將sql語句手動輸入到mysql,它的工作原理。
我回應了變量,它們不是空的(它們都是字符串)。
連接確實有效。
我錯過了什麼?
嘗試測試錯誤?執行返回false嗎? 「錯誤」屬性告訴你什麼? –
你是否在pdo中啓用了異常?如果沒有,那麼你只是假設沒有任何錯誤,並且不檢查所有這些調用的返回值。默認情況下,PDO通過返回布爾值false來失敗。 –
只是好奇,爲什麼當你只執行一個語句時使用了一個事務? –