語境:我創建了一個頁面,用戶可以在其中對辯論進行投票。辯論都有兩個可能的選擇。當用戶單擊左側的選項時,它返回值“0”。當用戶單擊右側的選項時,它返回值“1”。用戶單擊他們想要投票的一方后,將執行 AJAX 調用,該調用會檢查數據庫以通過檢查用戶 ID 和民意調查 ID 來查看用戶是否已經投票。AJAX 工作正常。這是 jQuery/AJAX 代碼:$(".display-polls-container").on("click", "input:radio", function(e) { //when user votes on debate var thisElement = $(this); var vote_value = $(this).val(); var pollId = $(this).parent().parent().parent().siblings().children(".poll-id").val(); <?php if (isset($_SESSION['id'])) { ?> setVote(vote_value, pollId, thisElement); //insert vote into database <?php } else { ?> alert("You must sign in to vote on a debate"); <?php } ?>});function setVote(vote_value, pollId, thisElement) { //insert vote into database $.ajax({ url: 'includes/poll_votes.php', type: 'POST', data: {vote_value: vote_value, pollId: pollId, idUsers: idUsers}, success: function(data) { getVote(pollId, thisElement); //if vote inserts correctly, get the vote count and apply it to the debate (this function is not relevant enough to include its code) }, error: function(requestObject, error, errorThrown) { //console.log(error); //console.log(errorThrown); } });}問題:問題是 PHP 代碼目前無法正常工作。除了功能之外,一切似乎都在起作用mysqli_num_rows()。發生的情況是,即使用戶已經對特定辯論進行了投票,查詢也不會禁止他們繼續對同一辯論進行投票。一旦用戶投票一次,他們就不能再投票了。我嘗試檢查他們是否已經使用該mysqli_num_rows()函數投票,但它總是返回 0,無論實際有多少行。我嘗試過的事情:我通過將自己的值提交到 mysqli 數據庫的“SQL”部分來檢查原始查詢,它工作得很好,所以我不認為問題出在查詢上。我還使用未準備好的語句形成了查詢,它工作正常并從數據庫返回了正確數量的結果。這意味著我使用準備好的語句這一事實可能意味著我遺漏了一些東西。有任何想法嗎?謝謝。
- 1 回答
- 0 關注
- 247 瀏覽
添加回答
舉報
0/150
提交
取消