php - 为什么数据库不反映 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 和事务应该已经成功。
解决方案
Nigels 的评论是关键。代替 '?' 我刚用过?。之后效果很好。
非常感谢你的帮助!!
推荐阅读
- html - div 的 CSS 比例变换(比例),包括文本、图像以适应宽度
- excel - 基于多单元逻辑插入新行
- python-3.x - 无限循环前缀/前缀python
- php - php_mysql 已禁用,为什么我仍然收到 mysql_connect() 错误?
- javascript - 如何使用类似选择器模式的 jquery 选择多个类选择器
- javascript - Material-UI:网格内的全宽列表
- excel - 返回最大数字行中的文本的公式
- python - 从 t-SNE 图中获取 ID?
- java - JAVA根据早期ID插入具有多行的多个表
- google-chrome - 如何将 Chrome.alarms.create 中的闹钟设置为每天运行一次?