我不明白为什么这个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();
发出查询后,您的问题将得到解决。
如果没有发出其他查询,则可以考虑完全删除事务。