我正在将PHP应用程序从5.5迁移到7。 和mysql_query到mysqli_query
其中一个功能用于授权代码块: 但这不适用于MySQLi_query。使用mysql_query函数可以正常工作。有人知道如何解决此问题吗? TIA。
function IfMemberOfGroup($idgroup){
$query = "SELECT user_id from member_of_group WHERE user_id =
'".$_SESSION['user_id']."' AND id_group IN (".$idgroup.")";
$result = mysqli_query($db,$query) or die();
while ($r = mysqli_fetch_array($result)) {
return true;
}
}
要使用该功能:
if ((IfMemberOfGroup("2"))===true){
//do something
}
答案 0 :(得分:2)
您必须检查是否有记录,然后简单地返回事实member_of_group
表中是否有这样的记录
function IfMemberOfGroup($idgroup)
{
global $db;
$query = "SELECT EXISTS(SELECT 1 from member_of_group
WHERE user_id = '".$_SESSION['user_id']."' AND id_group IN (".$idgroup."))";
$result = mysqli_query($db,$query) or trigger_error(mysqli_error($db),E_USER_ERROR);
$is_member = mysqli_fetch_row($result)[0];
return (bool)$is_member;
}