Php 通过id获取mysql表中要更新的文章?

Php 通过id获取mysql表中要更新的文章?,php,mysql,Php,Mysql,我的网站上有一个评论系统,用户可以对其他用户进行评分。当用户登录时,他们可以转到“待处理的审阅”部分,在那里他们可以批准或删除审阅 我从表ptb_reviews中提取评论,并将它们列在reviews.php页面上。然后,每个审阅都有一个approve或delete链接,该链接指向approve_review.php或delete_review.php,其中有一个SQL函数,用于在我的表中设置相关列,即approve或delete,从0到1 因此,如果用户批准了某个审核,它会将表中的“批准”更新为

我的网站上有一个评论系统,用户可以对其他用户进行评分。当用户登录时,他们可以转到“待处理的审阅”部分,在那里他们可以批准或删除审阅

我从表ptb_reviews中提取评论,并将它们列在reviews.php页面上。然后,每个审阅都有一个approve或delete链接,该链接指向approve_review.php或delete_review.php,其中有一个SQL函数,用于在我的表中设置相关列,即approve或delete,从0到1

因此,如果用户批准了某个审核,它会将表中的“批准”更新为1,其中该特定审核已被选择为“批准”,然后将其删除

我遇到了一个问题,当我尝试批准或删除一个评论时,我会回显查询来测试它,看看发生了什么,看看它是否按照我要求的那样做,我得到了以下结果:

UPDATE ptb_reviews SET approved = 1 WHERE id = '' LIMIT 1
这意味着它找不到审阅id,因此它不会将更新应用于表中适合该审阅的1

下面是我的reviews.php代码,其中包含了评论:

<?php
        $reviews_set = get_new_reviews();
        while ($reviews = mysql_fetch_array($reviews_set)) {

            $review_id = (int) $_GET['review_id']; 
    // Just this, is a great security enhancement. Forces the variable to be int (like all id's are). 
    // You can also check if its a numeric by doing
if (is_numeric($review_id)){
    // continue with the update query
} else {
    // something fishy is going on..
}


?>


        <div class="prof-content-pend-reviews" id="reviews">
             <div class="pend-review-content">
             <?php echo "{$reviews['content']}"; ?>
             </div>
             <div class="message_pic">
             <?php echo "<a href=\"profile.php?id={$reviews['from_user_id']}\"><img width=\"50px\" height=\"50px\" src=\"data/photos/{$reviews['from_user_id']}/_default.jpg\" /></a>";?>

             </div>

             <div class="forum-text">
             <?php echo "Posted by {$reviews['display_name']}"; ?> <?php echo "".$age." days ago"; ?>
          </div>

          <a href="includes/approve_review.php?review=<?php echo $reviews['review_id']; ?>"><div class="approve"></div></a>
           <a href="includes/delete_review.php"><div class="delete"></div></a>


             </div>

             <? }  ?>

您得到的查询变量如下所示:

$review_id = (int) $_GET['review_id']; 
但在您的链接中,您使用:

<a href="includes/approve_review.php?review=<?php echo $reviews['review_id']; ?>">
                                     ^^^^^^

您得到的查询变量如下所示:

$review_id = (int) $_GET['review_id']; 
但在您的链接中,您使用:

<a href="includes/approve_review.php?review=<?php echo $reviews['review_id']; ?>">
                                     ^^^^^^

看起来不像是
approve\u reviews.php
正在从
$\u GET['review']
检索。只有
reviews.php
可以…@Michael Berkowski我有点假设
//继续更新查询
行是下面的php所在的位置…那么我该怎么做才能使approve\u review.php从$\u GET['review']检索?@John Simmons只需将同一行添加到
approve\u review.php
$review\u id=(int)$\u GET['review'];
好的,你在链接上说要删除review\u id并用just review替换它?所以你有:$review\u id=(int)$\u GET['review'];然后在你的链接上……是这样吗?看起来不像是
批准\u reviews。php
正在从
$\u GET['review']检索
一点也不。只有
reviews.php
可以…@Michael Berkowski我有点假设
//继续更新查询
行是下面的php所在的位置……那么我该怎么做才能使approve\u review.php从$\u GET['review'检索?@John Simmons只需将同一行添加到
approve\u review.php
$review\u id=(int)$\u GET['review'];
好的,你在链接上说删除review\u id并用just review替换它?因此你有:$review\u id=(int)$\u GET['review'];然后在你的链接上……是吗?我不知道$review_id是在“执行approve_review.php的sql功能的代码”中定义或包含的因此,除非您以某种方式传递了它,否则它将是空的。此外,查询中$review\u id的单引号可能会掩盖PHP变量我看不到$review\u id在“执行approve\u review.PHP的sql函数的代码”中的定义或包含位置因此,除非您以某种方式传递它,否则它将是空的