我正在做一个项目,我应该创建一个人们可以注册并登录的网站。我正在尝试做的事情,它会在角落里说“登录为......” / p>
这是代码的一部分,用于在用户登录时将变量名称分配给数据库中的名称值。
$first = mysql_query("SELECT FirstName FROM students WHERE studentID = '$user' AND password = '$pass'");
$firstname = mysql_fetch_array($first);
$_SESSION['name'] = $firstname;
这是网站上显示名称
的代码<?php
if(isset($_SESSION['name']))
{
echo '<li class="disabled"><a href="#" disabled>Signed in as ' . $_SESSION['name'] . '</a></li>';
}
?>
但是当网站实际运行时,空间是空白的。我知道变量已设置,因为我用一些随机字符串替换了$ _SESSION ['name']并且它回应得很好。我还运行了SQL查询,它给了我这个名字。我的代码中缺少什么?
答案 0 :(得分:2)
mysql_fetch_array()
返回一个值数组。不只是您选择的一列。
$row = mysql_fetch_array($first);
$_SESSION['name'] = $row['FirstName'];
答案 1 :(得分:0)
尝试替换
mysql_fetch_array($first);
带
mysql_fetch_array($first)['FirstName'];
还要避免使用mysql_ *函数。他们被贬低了。 使用mysqli_ *代替或PDO