我有一個(gè)喜歡按鈕,它允許用戶喜歡我網(wǎng)站上的帖子。如果用戶喜歡他們之前不喜歡的帖子,它將 +1,如果他們?cè)俅伟聪孪嗤南矚g按鈕,它將 -1。這在我筆記本電腦上的虛擬服務(wù)器上工作。但是,相同的代碼在我的實(shí)時(shí)站點(diǎn)上不起作用。在我的實(shí)時(shí)網(wǎng)站上,用戶可以多次喜歡同一個(gè)帖子,這不是我想要的。我正在使用 JQuery Ajax 調(diào)用來(lái)觸發(fā)一些 MySQL 代碼的 PHP 文件。任何人都可以看到下面的 PHP 有什么明顯的錯(cuò)誤嗎?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貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超5個(gè)贊
設(shè)法解決了它。問(wèn)題出在 UserID 的 MySQL 數(shù)據(jù)庫(kù)列本身。該列的字符數(shù)不夠長(zhǎng),并且截?cái)嗔宋沂褂脮?huì)話 ID 填充的用戶 ID。我修改了數(shù)據(jù)庫(kù)中的這個(gè)字段以允許 sessionID 的長(zhǎng)度。

HUH函數(shù)
TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊
也許此語(yǔ)句 "SELECT COUNT(*) AS CntLike FROM Likes WHERE PostID = ?"
需要 WHERE 語(yǔ)句中的 UserID,以便您知道該特定 PostID 中的特定 UserID
- 2 回答
- 0 關(guān)注
- 133 瀏覽
添加回答
舉報(bào)
0/150
提交
取消