【发布时间】:2015-02-28 03:06:08
【问题描述】:
我正在尝试制作一个检查用户级别的函数。
function run_admin($userid, $username){
global $dbcon;
$stmt = $dbcon->prepare("SELECT userid, username, admin FROM user WHERE userid = ?");
$stmt->bind_param('isi',$userid, $username, $admin);
$userid = $_SESSION['userID'];
$stmt->execute();
$stmt->bind_result($userid,$username,$admin);
$stmt->fetch();
//if($admin >= 1){ echo $userid . " is admin!"; }
// above prints "1 is admin!";
}
if(run_admin("1", "Mikkel") == "1")){
echo "It's working, you are admin";
}
我已将文件包含在 $dbcon 中,并且它正在另一个页面上运行。全局是另一个问题mysqli/mysql query inside function not working 中的一个想法,但我无法让它发挥作用。
我想用这个函数来检查会话是否登录了用户ID和用户名。
管理行返回整数。
我不太擅长 mysqli 准备好的语句,还在学习,但我不知道从哪里读到。
谁能帮助或指导我正确的方向。
【问题讨论】:
-
您不想收到错误消息之类的吗?您绑定了太多未使用的参数。在与 mysqli 纠缠不清之前阅读 PDO。
-
抱歉。它应该是 bind_param('i', $userid) 在 where 子句中的 userid 。我刚刚从测试中粘贴了很多内容。
-
天哪,它正在工作..我刚刚从另一个我可以使用的 q 中读到; ini_set('error_reporting', E_ALL);查看错误消息。