在我的代码下面,我试图检索moduleid,使用它来运行查询,以便能够找到属于该模块ID的模块编号和模块名称和然后包含模块号,模块号和模块名称的会话变量。使用isset(),但仍然得到未定义的索引
我遇到的问题是,即使我使用(isset()
,我得到未定义指数$_SESSION['idmodule']
和“$ _SESSION [” namemodule“] . Now
$ _SESSION [”模块']`工作正常,没有问题该会话变量,但我有问题的其他2个会话变量。
现在查询是正确的,所以没有问题与查询,只是我猜我如何调用$ _SESSION变量的问题。
下面是代码:
if (isset($_POST['module']))
{
$query = "SELECT ModuleNo, ModuleName FROM Module WHERE ModuleId = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('s', $_POST['module']);
$stmt->execute();
$stmt->bind_result($moduleno, $modulename);
while ($stmt->fetch()) {
// session data
if (isset($moduleno)){
$_SESSION['idmodule'] = $moduleno;
}
if (isset($modulename)){
$_SESSION['namemodule'] = $modulename;
}
}
$_SESSION['module'] = $_POST['module'];
}
。
isset()被用在错误的地方。删除你添加的那些,而是将它们应用到这一行“
你说你的查询是'正确的',但你确定'$ stmt-> execute();'没有失败?尝试在'$ stmt-> execute();'&'$ stmt-> bind_result($ moduleno,$ modulename);'==>'$ stmt-> execute()或die($ stmt->错误); $ stmt-> bind_result($ moduleno,$ modulename)或die($ stmt-> error);' – Sean