php - 如何使用 pdo 更新 php 中的字符串值
问题描述
我试图更新评论表中的状态字段,但它失败了。
这是我的表格:
<?php
if ($result['comment_status'] == "approved") {
?>
<form action="" method="post">
<input type="hidden" name="comment_id" value="<?php echo $result['comment_id'] ?>">
<button type="submit" name="disapproved" class="btn btn-primary btn-sm">DisApprove
</button>
</form>
<?php
} else {
?>
<form action="" method="post">
<input type="hidden" name="comment_id" value="<?php echo $result['comment_id'] ?>">
<button type="submit" name="approved" class="btn btn-primary btn-sm">Approve</button>
</form>
<?php
}
?>
这是我的 php 代码(查询):
if (isset($_POST['comment_id']) && is_numeric($_POST['comment_id']) && $_POST['comment_id'] > 0) {
$comment_id = $_POST['comment_id'];
}
if (isset($_POST['disapproved'])) {
$query = $connection->prepare("UPDATE comments SET comment_status = 'approved' WHERE comment_id = $comment_id");
confirm($query->execute(), "Comment approved successfully", "info");
}
if (isset($_POST['approved'])) {
$query = $connection->prepare("UPDATE comments SET comment_status = 'disapproved' WHERE comment_id = $comment_id");
confirm($query->execute(), "Comment disapproved successfully", "info");
}
不知道为什么不更新
解决方案
代码重复太多...
<form action="" method="post">
<input type="hidden" name="comment_id" value="<?php echo $result['comment_id'] ?>">
<input type="hidden" name="status" value="<?=($result['comment_status'] == "approved")?>">
<button type="submit" class="btn btn-primary btn-sm"><?= ($result['comment_status'] == "approved" ? 'DisApprove' : 'Approve' ) ?></button>
</form>
php代码。你应该绑定comment_id
和status
if (isset($_POST['comment_id']) & ... && isset($_POST['status'])) {
$comment_id = $_POST['comment_id'];
$status = $_POST['status'] ? 'disapproved' : 'approved';
$query = $connection->prepare("UPDATE comments SET comment_status = :status WHERE comment_id = :comment_id");
$query->bindValue(':comment_id', $comment_id, PDO::PARAM_INT);
$query->bindValue(':status', $status, PDO::PARAM_STR);
confirm($query->execute(), "Comment disapproved successfully", "info");
}
应该可以,试试
推荐阅读
- tfs - about change the location of TFS 2017 Databases
- database - 当我尝试在 laravel 中更新数据透视表的内容时,有什么方法可以修复非法偏移类型错误
- aws-cli - 警报操作 - 如何在 aws cloudwatch put-metric-alarm 命令中终止实例 - AWS CloudWatch CLI 命令
- c++ - 使用标准输入读取文本文件,然后遍历多个数组
- google-sheets - 如何使用 Google 电子表格作为 Grafana 的数据源?
- html - 使用 img-fluid 类时图像无法正确显示
- python-3.7 - 我正在尝试使用下面的代码从列表中删除重复的元素,但低于输出。为什么我没有得到预期的输出?
- python - find_element_by_link_text 应该找到这个链接吗?
- javascript - TypeORM:如何将现有类别与新帖子链接
- c# - 如何在 TokenIssuedSuccessEvent 和 UserLoginSuccessEvent 中获取子声明