我已经搜索过这个但找不到解决这个问题的方法。
$sql = "select count(*) as rule_count from AdminRules where FunctionName = :fn_name and UserLevel in (select user_type from users where user_id = :usid)";
$query = $this->db->prepare($sql);
$parameters = array(':fn_name' => $func_name , ':usid' => $user_id );
if (!$query->execute($parameters)){
return False;
}
echo '[ PDO DEBUG ]: ' . Helper::debugPDO($sql, $parameters); exit();
return ($query->fetch()->rule_count >= 1)?True:False;
PDO::DEBUG 的结果:
[ PDO DEBUG ]: select count(*) as rule_count from AdminRules where FunctionName = 'admin_control' and UserLevel in (select user_type from users where user_id = '2')
查询结果为0:
Array ( [rule_count] => 0 )
最佳答案
user_id 是唯一的,所以它不是,实际上我在傻傻地看着(在在线服务器上运行的 phpmyadmin)并尝试运行我连接到本地数据库的代码。
关于PHP PDO 返回错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53115031/