使用MySQLi调用PHP函数并返回TRUE或FALSE

时间:2018-07-21 07:40:59

标签: php function mysqli

我正在将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
}

1 个答案:

答案 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;
}