php - 将 mysql 值从 '0' 更新为 '1' ?

标签 php mysql

我正在运行 mysql 查询来获取我的网站上所有等待用户批准或删除的用户评论。

我有一个基本的文件结构:

Reviews.php,它提取mysql结果和函数文件approve_review.php。

新的评论在 mysql 查询中顺利通过,但是当我尝试批准或删除评论时什么也没有发生,我没有收到任何错误或任何东西。

当点击批准时,假设将表 ptb_reviews.approved 从“0”更新为“1”,如果点击删除,同样适用,它将把评论从“0”更新为“1”。

(我仅为此目的包含批准代码,因为它们实际上与设置为删除的批准相同)

我使用review_id,以便它知道要批准或删除哪些评论以及 session ,以便只有用户才能批准或删除它们。

有人可以看一下,看看他们是否能找到让它发挥作用的方法吗?

评论.php:

<?php
            $pending_set = get_pending_reviews();
            while ($reviews = mysql_fetch_array($pending_set)) {


    ?>

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

                 <? }  ?>

approve_review.php:

 function approve_review($review_id, $user) {
                            global $connection;
                global $_SESSION;
                            $query = "UPDATE ptb_reviews
                                        SET approved='1'
                                        WHERE id=$review_id";
                mysql_query($query, $connection);


                    }


        <?php
        require_once("session.php"); 
        require_once("functions.php");
        require('_config/connection.php');
        approve_review ($_GET['review_id'], $_SESSION['user_id']);
        header('Location: http://localhost/ptb1/reviews.php');
        ?>

最佳答案

i get no error or anything.

这可能是因为您没有检查错误。

每次调用数据库API函数时,都需要检查返回值。如果有任何错误,大多数函数都会返回false,然后您需要调用另一个函数来检查错误的类型、错误消息等。

示例:

$result = mysql_query($query, $connection);
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

关于php - 将 mysql 值从 '0' 更新为 '1' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14026588/

相关文章:

php - 使用 php 将文件上传到 google 驱动器并检索链接

PHP:同时理解 POST 和 GET 时遇到困难

php - 网络字节顺序到 php 中的主机字节顺序转换

mysql - 使用 join、group by 和 Sum() 的 LINQ 查询

mysql - 将 MySql 从 Windows 服务器迁移到 Linux

mysql - 将 SQL 创建数据库文件加载到 Docker

PHP 嵌套 While 循环不适用于 mysql_fetch_assoc

php - If 条件 : Why turning a boolean into an integer?

mysql - 当 mysql 数据库保存客户数据时,如何将更改部署到我的 drupal gear?

mysql - 从单个表中仅在一行中添加多行