0

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

<?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']; 

?>

更新了带有建议的代码,但仍然无法正常工作

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

4

3 回答 3

1

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

$result = mysql_query("SELECT * FROM user WHERE id_user='{$id}'");
于 2012-07-05T13:26:30.487 回答
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
于 2012-07-05T13:47:01.200 回答
0

我会这样做:

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

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

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

当然,你也可以在行尾做一个 or die(mysql_error()) 。

于 2012-07-05T13:38:10.740 回答