我有一個喜歡按鈕,它允許用戶喜歡我網站上的帖子。如果用戶喜歡他們之前不喜歡的帖子,它將 +1,如果他們再次按下相同的喜歡按鈕,它將 -1。這在我筆記本電腦上的虛擬服務器上工作。但是,相同的代碼在我的實時站點上不起作用。在我的實時網站上,用戶可以多次喜歡同一個帖子,這不是我想要的。我正在使用 JQuery Ajax 調用來觸發一些 MySQL 代碼的 PHP 文件。任何人都可以看到下面的 PHP 有什么明顯的錯誤嗎?include ("../con/config.php");$postid = $_POST['postid'];$userid = $_POST['userid'];$query = $con->prepare("SELECT COUNT(*) AS CntPost FROM Likes WHERE UserID = ? AND PostID = ?");$query->bind_param('ss',$userid,$postid);$query->execute();$result = $query->get_result();$fetchdata = $result->fetch_assoc();$count = $fetchdata['CntPost'];if($count == 0){ $stmt = $con->prepare("INSERT INTO Likes(UserID,PostID) VALUES(?,?)"); $stmt->bind_param("ss", $userid, $postid); $stmt->execute();} else { $stmt = $con->prepare("DELETE FROM Likes WHERE UserID = ? AND PostID = ?"); $stmt->bind_param("ss", $userid, $postid); $stmt->execute();}// count numbers of likes in post$query = $con->prepare("SELECT COUNT(*) AS CntLike FROM Likes WHERE PostID = ?");$query->bind_param('s', $postid);$query->execute();$result = $query->get_result();$fetchlikes = $result->fetch_assoc();$totalLikes = $fetchlikes['CntLike'];$return_arr = array("likes"=>$totalLikes,"type"=>$count);echo json_encode($return_arr);
2 回答

慕田峪4524236
TA貢獻1875條經驗 獲得超5個贊
設法解決了它。問題出在 UserID 的 MySQL 數據庫列本身。該列的字符數不夠長,并且截斷了我使用會話 ID 填充的用戶 ID。我修改了數據庫中的這個字段以允許 sessionID 的長度。

HUH函數
TA貢獻1836條經驗 獲得超4個贊
也許此語句 "SELECT COUNT(*) AS CntLike FROM Likes WHERE PostID = ?"
需要 WHERE 語句中的 UserID,以便您知道該特定 PostID 中的特定 UserID
- 2 回答
- 0 關注
- 124 瀏覽
添加回答
舉報
0/150
提交
取消