我想写基本友谊脚本。但有一个问题。虽然我的数据库表上没有数据,但它接受is_approved
column = 0
虽然我的MySQL数据库上没有数据,但它打印“request pending
”为什么?
修改
$per = $db->query("SELECT * FROM permission WHERE user_id = " . $profile_owner_id . "");
$per->setFetchMode(PDO::FETCH_ASSOC);
$per_dat = $per->fetch(); //
//FETCH friendship table // THERE IS NO DATA in friendship table
$friend_request = $db->query("SELECT * FROM friendship WHERE sender_id = ".$_SESSION['SES_USER_ID']." AND receiver_id=".$profile_owner_id."");
$friend_request->setFetchMode(PDO::FETCH_ASSOC);
$fr_data = $friend_request->fetch(); //
if ( $_SESSION["SES_USER_ID"] != $profile_owner_id ) {
if($per_dat["get_friendship_request"] == 1) {
if($fr_data["is_approved"] ==1){
echo "Allready friend";
}
else if($fr_data["is_approved"]==0){
echo "request pending";
}
else{
echo "Send friend request.";
}
}
else{
echo "He/she does not accept friend requests..";
}
答案 0 :(得分:1)
如果在php中未设置变量,
$fr_data["is_approved"]==0
评估为true。您可以使用三元运算符来避免这种行为。
$fr_data["is_approved"]===0
可以找到一个详尽的解释in this blog,短版本是值的(即常规==测试)0,NULL,0.0对于php都是相同的。三重等式运算符检查值 和 类型,因此如果0是变量的实际内容,它将仅计算为true。