我不明白为什么这个PDO语句不会将任何内容保存到数据库中:
//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的手,它的工作。
我已经回显了变量,它们不是空的(它们都是字符串)。
连接成功。
我错过了什么?
您开始了一个事务,但忘记提交。
添加:$conectar2->commit();
可以解决这个问题。
如果没有发出其他查询,您可以考虑完全删除事务。
"有什么我可能错过的地方吗?"
是的。
$conectar2->beginTransaction();
这部分需要去掉