错误 - 不能对表达式的结果使用isset()(您可以使用" null!== expression"而不是)
我在if语句和else行的开头之上得到错误。
我按照我的方式完成了代码,因为$ user_id是从下拉框中选择的,除非它是该框中没有值的第一个选项。
下面的代码应该能够判断下拉框中的选项是否有值。如果是这样,它只显示与该用户相关的信息。否则它会显示一切。
$user_id = $_REQUEST['userid'];
$user_hack = 0;
echo $user_hack;
if(isset($user_id > $user_hack))
{
echo "Yup";
$sql = "SELECT ub.id, users.name, individualbadges.badgename, ub.level FROM userbadges ub INNER JOIN users ON users.id = ub.user_id INNER JOIN individualbadges ON individualbadges.id = ub.badge_id WHERE users.id = $user_id ";
}
else
{
die("Parameter is missing!");
$sql = 'SELECT ub.id, users.name, individualbadges.badgename, ub.level FROM userbadges ub INNER JOIN users ON users.id = ub.user_id INNER JOIN individualbadges ON individualbadges.id = ub.badge_id';
}
$query = mysqli_query($connection, $sql);
答案 0 :(得分:1)
只需将条件更改为:
if(isset($_REQUEST['userid']) && $_REQUEST['userid'] > $user_hack)
isset
告诉是一个变量被设置,而这个语句可能是true或false,你不能在其上调用isset
函数。
在您检查if(isset($_REQUEST['userid']))
之前,您无法将其分配给$userid
变量。