繁体   English   中英

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

[英]calling information from the database for user

我正在尝试仅致电已登录的用户信息。 到目前为止,什么都没有发生,我不确定我在做什么错。

<?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 *,整个数据库都会出现,而不是登录的用户

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

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

我本来可以这样做:

$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())。

不鼓励使用此扩展名。 相反,应使用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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM