[英]SQL: How to implement insert/update of multiple data for specific table in sql
[英]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_
函數。 您絕對應該考慮使用mysqli或pdo 。
最后要注意的一點是,如果您的評分為"like"
則查詢為空。 希望您在調用mysql_query
之前檢查是否為empty
,此處未顯示。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.