为什么数据库不能反映php INSERT所做的更改?

时间:2019-05-05 11:16:43

标签: php mysql transactions

我正在通过PHP调用INSERT和DELETE语句到MySQL数据库。 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和事务应该已经成功。

1 个答案:

答案 0 :(得分:0)

奈杰斯的讲话是关键。 代替 '?'我只是用?。 经过泰铢后,效果很好。

非常感谢您的帮助!