我试图用ajax实现一个“喜欢”按钮,所以我不必重新加载页面来更新数据库,但是没有通过ajax完成的查询。
我将其简化为仅检查用户是否已经喜欢此项目,而我仍然无法使其正常工作。
我已经验证:
-$ link很好(通过mysqli_ping())
-查询本身很好(通过phpMyAdmin)
-ajax看起来也很好(将echo $ val替换为echo 1或echo memberId会警告该值)。
code.js:
$("#likebtn").click(function(){
//check if already liked
$.ajax({
type:"POST",
url:"extra/projectpagefunctions.php",
data: {func: 'existsLinkProject', Table: 'projectLikes'},
success : function(result){
alert(result);
},
error : function(error){
console.log(error);
}
});
});
projectpagefunctions.php:
<?php
session_start();
$TestLink = mysqli_connect('localhost', '*******', '******', '******');
function existsLinkProject($Table){
$query = "SELECT * FROM `".$Table."` WHERE `memberId` = ".$_SESSION["account"]["memberId"]." AND `idProject` = ".$_SESSION["project"]["idProject"];
$result = mysqli_query($TestLink, $query);
$val=0;
if(mysqli_num_rows($result)>0){
$val=1;
}
echo $val;
}
if(isset($_POST["func"]) && mysqli_ping($TestLink)){
if($_POST["func"] == "existsLinkProject"){
existsLinkProject($_POST["Table"]);
}
}
else{
echo "error";
}
?>
我希望该函数返回1(如果已经被喜欢),返回0(如果不是)。 但是无论数据库中有什么,我都只会得到0。
(在加载页面时,我会对其进行检查并相应地设置按钮的颜色,这已经可以了)