在我的数据库中,我创建了一个名为accounts的表。accounts表包含:id、用户名、密码、积分。
这是我正在运行的代码,用于提取和显示Points变量。
$user = $_SESSION['sess_user'];
$sql = mysql_query("SELECT points FROM accounts WHERE username='".$user."'");
$points = $sql;
然后再往下一点,我在html中使用这个。
<p>Welkom, <?=$_SESSION['sess_user'];?>! Dit is jouw Managerpaneel. Je hebt momenteel <?=$points?> Managerpunten.</p>
现在,它确实显示了会话用户名,但没有显示任何分数:(它只是完全跳过了它。
有什么想法吗?
您实际上并没有获取结果。mysql_query()
返回一个资源ID。您需要将其传递给像mysql_fetch_assoc()
这样的函数才能获得实际结果。
$sql = mysql_query("SELECT points FROM accounts WHERE username='".$user."'");
$row = mysql_fetch_assoc($sql);
$points = $row['points'];
请不要在新代码中使用mysql_*
函数。它们不再被维护,并被正式弃用。看到红盒子了吗?了解准备好的语句,并使用PDO或MySQLi-本文将帮助您决定哪一个。如果你选择PDO,这里有一个很好的教程。
您缺少以下内容:
$row = mysql_fetch_array($sql);
$points = $row['points'];
有关更多信息:mysqlfetcharray