我试图只调用登录的用户信息。到目前为止没有任何事情发生,我不确定我做错了什么。
<?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 *,则会出现整个数据库,而不是登录的用户
答案 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