我想从MySQL数据库中获取行并在$ _SESSION变量中保存两个特定值(row [0]& row [6])以供稍后进行比较。 代码如下所示:
$sqlResult =mysql_query("SELECT * FROM questionbank WHERE quizName ='$quizNames' ORDER BY RAND() limit 6")
while ($row= mysql_fetch_array($sqlResult))
{
$questionPkId = $row[0];
echo $_SESSION['$questionPkId'] = $row[6];
}
问题是我无法在其他页面中获取此值。我可以用会话变量创建一个关联数组(虽然我尝试了array_push(),但它没有用)。
答案 0 :(得分:2)
您的代码有几个问题。首先,请确保在使用会话的任何页面上调用session_start
。没有它,您将无法访问先前设置的变量。
第二,当在单引号内调用一个变量时,它是字面意思的,这意味着你的会话定义语句总是将变量赋值给同一个东西,因此会覆盖它应该是什么。
$_SESSION[$questionPkId] = $row[6];
这会将值分配给$questionPkId
的实际值。除了这些问题之外,您的session
项应该有效,如果不是,则需要向我们提供更多代码。
答案 1 :(得分:0)
尝试不带单引号:
$_SESSION[$questionPkId] = $row[6];