在我的代碼下面,我試圖檢索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