簡體   English   中英

如何更新表的特定數據?

[英]How to update a specific data of a table?

我在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    
    ";
}
?>

這里的更新查詢似乎不是問題,主要問題是您的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"則查詢為空。 希望您在調用mysql_query之前檢查是否為empty ,此處未顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM