我在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
";
}
?>
答案 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_
函数已被弃用。您绝对应该考虑使用mysqli或pdo。
第三点也是最后一点需要注意的是,如果您的评分为"like"
,则查询为空。希望您在致电empty
之前检查mysql_query
,这里没有显示。