我已经编程了一段时间,但对PHP来说还是一个新手。我遇到了一个问题。我的网站有一个登录/注册屏幕,一旦登录该帐户,我试图回显用户数据库条目中的信息。例如,如果我想显示内容“余额”,我一直在尝试以下代码:
<?php
$data = mysql_query("SELECT * FROM users WHERE username=username") or die(mysql_error());
while($info = mysql_fetch_array( $data ))
{
Print $info['balance'];
}
?>
这个想法是脚本将使用存储在会话中的用户名查询数据库,然后转到命名字段。
当只有一个注册用户时,它似乎可以工作;一旦多个用户注册,它就会回复所有用户的价值(例如$ 7.50 $ 10.12)。
感谢您帮助解决此问题!
答案 0 :(得分:4)
目前您没有将用户名与变量进行比较,但您将其与自身进行比较,这意味着它始终为真。
<?
$username = $_SESSION['username'];//or other methods like $_POST['username'] or $_GET['username'], depending on how you intend to get the username;
$data = mysql_query("SELECT * FROM users WHERE username='$username'") or die(mysql_error());
while($info = mysql_fetch_array( $data ))
{ Print $info['balance']; }
?>
您需要确保$ username被转义(如果来自用户输入)以及开始使用mysqli或pdo而不是mysql。
当然,我假设您正在某处使用session_start()并实际为会话分配用户名。
希望这有帮助!