我无法理解为什么这些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中,但是它可以工作。
我已经回应了变量并且它们不是空的(它们都是字符串)。
连接确实有效。
我错过了什么?
答案 0 :(得分:6)
您开始了一项交易,但忘了提交。
添加:
$conectar2->commit();
发出查询后将解决问题。
如果没有发出其他查询,您可以考虑完全删除该事务。
答案 1 :(得分:0)
&#34;我可能遗漏的任何不合适的地方?&#34;
是
$conectar2->beginTransaction();
此部分需要删除。