首页 > 解决方案 > 为什么数据库不反映 php INSERT 所做的更改?

问题描述

我通过 PHP 向 MySQL 数据库调用 INSERT 和 DELETE 语句。PHP 脚本成功完成,但在数据库中没有任何变化。所以我相信它必须与事务处理有关。但我开始和结束交易。有人有想法吗?非常感谢。

<?php
require_once '../extra/pdo_connect.php';
$postdata = file_get_contents("php://input");
if (isset($postdata) && !empty($postdata)) {
    $json_obj = json_decode($postdata,true);

    $pdo->beginTransaction();

    $sql  = "delete from user where username = '?'";
    $stmt = $pdo->prepare($sql);
    $rows = $stmt->execute(array($json_obj['username']));
    $echo("Statement executed");

    $pdo->commit();
}
?>

由于“已执行的声明”在响应中,因此 DML 和事务应该已经成功。

标签: phpmysqltransactions

解决方案


Nigels 的评论是关键。代替 '?' 我刚用过?。之后效果很好。

非常感谢你的帮助!!


推荐阅读