从数据库中为用户调用信息

时间:2012-07-05 13:23:39

标签: php mysql

我试图只调用登录的用户信息。到目前为止没有任何事情发生,我不确定我做错了什么。

<?php
session_start();
// Connects to your Database 
 mysql_connect("localhost", "megan", "megan") or die(mysql_error()); 
 mysql_select_db("megan") or die(mysql_error()); 

$id = $_SESSION['id_user']; //Get user's ID 
Print $id; //Test
$result = mysql_query("SELECT * FROM user WHERE id_user='" . $id . "'") 
or die(mysql_error());
$row = mysql_fetch_assoc($result); 

echo "Your user name is: <br>"; 
echo $row['username']; 

&GT;

使用sugestions更新了代码,但仍然无效

如果我从用户输入Select *,则会出现整个数据库,而不是登录的用户

3 个答案:

答案 0 :(得分:1)

试试这一行。我相信您的查询字符串不正确,并且您没有使用您的用户ID值查询,而是使用字符串'$ id'。

$result = mysql_query("SELECT * FROM user WHERE id_user='{$id}'");

答案 1 :(得分:0)

我会这样做的:

$result = mysql_query("SELECT * FROM user WHERE id_user=" . $id);

如果$ id不是数字而是字符串......

$result = mysql_query("SELECT * FROM user WHERE id_user='" . $id . "'");

当然,你也可以在行尾创建一个或者死(mysql_error())。

答案 2 :(得分:0)

不鼓励使用此扩展程序。相反,应该使用MySQLi或PDO_MySQL扩展。

$sql = "SELECT `username` FROM user WHERE id_user = '$id' ";

$result = mysql_query($sql);

list($username) = mysql_fetch_row($result);

var_dump( $username ); // for test