我不明白,因为到目前为止我可以删除评论。但是,当我尝试更新它们时,它不会在数据库中更新。更令我震惊的是,没有错误信息解释原因。这有什么特别的原因吗?
<table class="table table-bordered table-hover">
<thead>
<tr>
<td>Id</td>
<td>Post Author</td>
<td>Author Email</td>
<td>Post Content</td>
<td>In Response To</td>
<td>Post Status</td>
<td>Date</td>
<td>Approve</td>
<td>Disapprove</td>
</tr>
</thead>
<tbody>
<?php
if(isset($_GET['delete'])) {
$comId = $_GET['delete'];
$deleteComment = $conn->prepare("
DELETE FROM comments
WHERE comment_id = ?
");
$deleteComment->bind_param("i", $comId);
$deleteComment->execute();
$deleteComment->close();
}
if(isset($_GET['approve'])) {
$comIdApp = $_GET['approve'];
$approveStat = 'approved';
$approveComment = $conn->prepare("
UPDATE comments
SET comment_status = ?
WHERE comment_id = ?
");
$approveComment->bind_param("si", $approveStat, $commIdApp);
$approveComment->execute();
$approveComment->close();
}
?>
<?php
$post_output = $conn->query("SELECT * FROM comments");
while($row = $post_output->fetch_assoc()) {
$commentId = $row['comment_id'];
$postCommentId = $row['post_comment_id'];
$commentAuthor = $row['comment_author'];
$authorEmail = $row['author_email'];
$commentContent = $row['comment_content'];
$commentStatus = $row['comment_status'];
$commentDate = $row['comment_date'];
?>
<tr>
<td><?php echo($commentId); ?></td>
<td><?php echo($commentAuthor); ?></td>
<td><?php echo($authorEmail); ?></td>
<td><?php echo($commentContent); ?></td>
<?php
$postCommentRelate = $conn->query("SELECT * FROM posts WHERE post_id = {$postCommentId}");
while($row = $postCommentRelate->fetch_assoc()) {
$postTitle = $row['post_title'];
?>
<td><?php echo($postTitle); ?></td>
<?php } ?>
<td><?php echo($commentStatus); ?></td>
<td><?php echo($commentDate); ?></td>
<td><a href='admin_comments.php?approve=<?php echo($commentId); ?>'>Approve</a></td>
<td><a href='admin_comments.php?disapprove=<?php echo($commentId); ?>'>Disapprove</a></td>
<td><a href="admin_comments.php?delete=<?php echo($commentId); ?>">DELETE</a></td>
<td><a href=''>EDIT</a></td>
</tr>
<?php } ?>
</tbody>
</table>
答案 0 :(得分:0)
您的变量拼写不同$ comIdApp vs $ commIdApp
$comIdApp = $_GET['approve'];
$approveStat = 'approved';
$approveComment = $conn->prepare("UPDATE comments SET comment_status = ? WHERE comment_id = ?");
$approveComment->bind_param("si", $approveStat, $commIdApp);