我刚开始使用php和mysql,我得到了这个场景。用户注册到页面并登录。我用$_SESSION['SESS_USERNAME']
和他打招呼,一切都很好,直到这里。然后,我要显示与此登录用户相关的数据,例如,名字,姓氏,地址在输入字段中,他可以在数据库中编辑和更新。我该怎么做呢?我找到了很多示例,但当我想仅为登录的用户显示数据时,无法找出最适合我的场景的方法。任何帮助将非常感激!由于
您可能希望按照以下方式执行:
<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM users WHERE username = '".$_SESSION['SESS_USERNAME']."'");
while($row = mysqli_fetch_array($result))
{
echo $row['FirstName'] . " " . $row['LastName'];
echo "<br />";
}
mysqli_close($con);
?>
这是使用MySQLi SELECT
。
SELECT * FROM users WHERE username = '".$_SESSION['SESS_USERNAME']."'
基本上表示选择username
等于会话用户名的users
中的所有行。理论上,它会返回用户名会话的数据。
要显示列数据,只需要将列名放入:
$row['column_name']
可以是echo
'd out。
希望这是有用的,也在未来,请告诉我们你已经尝试了什么,我建议阅读FAQ
其他信息存储在哪里?您需要使用用户名来搜索和检索它们。假设它们在MySQL数据库中,请查看PDO教程,以安全地检索
我建议使用他的user_id。当他登录时,您通过user_id获取他的信息。
的例子:
<?php
$user = new User();
//Check if is numeric only
if(is_numeric($_SESSION["user_id"]))
$user->GetUser((int)$_SESSION["user_id"]);
else
throw new Exception("Session incorrect");
class User
{
public $user_name;
public $last_name;
public $address;
public function __construct()
{
}
public function GetUser($user_id)
{
//Get user info from database
// fill object
$this->user_name = $result["username"];
$this->last_name = $result["last_name"];
$this->address = $result["address"];
return $this;
}
}
?>