[英]how to update string value in php with pdo
我试图更新评论表中的状态字段,但失败。
这是我的表格:
<?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");
}
应该可以尝试
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.