【发布时间】:2018-12-29 10:32:18
【问题描述】:
我正在将 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
}
【问题讨论】:
-
$db 是连接名还是数据库名?应该是 mysqli_query($con, $query);
-
$db 是连接字符串。也可能是 $con。
-
没听懂,既然 PHP 函数返回一次,那为什么还要在 while 循环中返回呢?
-
好点。你会怎么做?
-
但是 $result 总是(除了错误)是 mysqliResult 的对象,在循环中,确定是否返回了一些行