Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 非常困惑,为什么这个特定的查询不起作用?_Php_Sql_Mysqli_Prepared Statement - Fatal编程技术网

Php 非常困惑,为什么这个特定的查询不起作用?

Php 非常困惑,为什么这个特定的查询不起作用?,php,sql,mysqli,prepared-statement,Php,Sql,Mysqli,Prepared Statement,我不明白,因为到目前为止我可以删除评论。但是,当我尝试更新它们时,它不会在数据库中更新。更让我震惊的是,没有错误消息解释原因。这有什么特别的原因吗 <table class="table table-bordered table-hover"> <thead> <tr> <td>Id</td>

我不明白,因为到目前为止我可以删除评论。但是,当我尝试更新它们时,它不会在数据库中更新。更让我震惊的是,没有错误消息解释原因。这有什么特别的原因吗

<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>

身份证件
后作者
作者电子邮件
帖子内容
作为回应
职位状态
日期
批准
不赞成

您的变量拼写不同$comIdApp和$comIdApp

$comIdApp = $_GET['approve'];
$approveStat = 'approved';

$approveComment = $conn->prepare("UPDATE comments SET comment_status = ? WHERE comment_id = ?");
$approveComment->bind_param("si", $approveStat, $commIdApp);

$\u GET[approve]的输出是什么?我使用了echo(),效果很好。但是,查询有一个问题。您确定$\u GET['approve']是一个整数吗?是的,它的值是$commentId,如果您有sql错误,除非您要求,否则integer.PHP不会告诉您。总是发生在我身上太棒了!抓到杰里米了!非常感谢。