如何更新表的特定数据?

时间:2013-08-14 03:06:21

标签: php mysql

我在php&中做出喜欢/不喜欢的事情HTML。因此,由于它使用每个博客的喜欢,我使用博客ID。我想知道如何更新表中的“喜欢”,但只使用它的id更新特定行的“喜欢”。这是php脚本:

<?php

require 'init.php';

$rating = $_GET['rating'];
$postid = $_GET['id'];

if ($rating = "like") {
    $sql = "

    ";
}

if ($rating = "dislike") {
    $sql = "
        UPDATE
            posts
        SET
            dislikes = dislikes+1
        WHERE
            id = $postid    
    ";
}
?>

1 个答案:

答案 0 :(得分:3)

更新查询似乎不是问题,主要问题是你的if语句,你没有使用比较运算符但是正在使用赋值运算符。

声明:if ($rating = "like")将值"like"分配给变量$rating,它不会将$rating与值"like"进行比较,这就是我认为你的意思希望它能做到。

很少有其他“主要”问题需要注意,您对SQL注入攻击持开放态度。由于您提到您在评论中使用mysql_个函数,因此您至少希望使用mysql_real_escape_string函数。例如

$rating = mysql_real_escape_string($_GET['rating'], $con); // assuming $con is your MySQL Connection
$postid = mysql_real_escape_string($_GET['id'], $con);

另一个同样重要的注意事项是mysql_函数已被弃用。您绝对应该考虑使用mysqlipdo

第三点也是最后一点需要注意的是,如果您的评分为"like",则查询为空。希望您在致电empty之前检查mysql_query,这里没有显示。