PHP查询数据库使用会话信息

时间:2014-01-25 01:55:15

标签: php database session search

我已经编程了一段时间,但对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)。

感谢您帮助解决此问题!

1 个答案:

答案 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()并实际为会话分配用户名。

希望这有帮助!