打印出登录用户数据匹配登录SESSION
Print out login user data to match login SESSION
我是 PHP 的新手,Mysql 我正在为我的作业编写购物网站,
我的登录、注册和数据库都已启动 运行,现在我正处于需要创建从数据库中提取数据所需的用户个人资料页面的阶段,
首先,我让这段代码正常工作,因为它会从我的 table、
中提取所有内容
<?php
$sql = 'SELECT * from assignment2';
$result = $conn->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
if(count($result)) {
echo '<table><tr>';
//Heading
foreach ($rows[0] as $columnName => $value) {
echo '<th>' . $columnName . '</th>' ;
}
echo '</tr>';
foreach ($rows as $row) {
echo '<tr>';
foreach ($row as $value) {
echo '<td>' . $value . '</td>';
}
echo '<tr>';
}
echo '</table>';
}
?>
但我的问题是如何让它只提取与登录会话匹配的那个
这是我的 SESSION 代码
<?php
session_start();
require '../ppuyakul/php/db_conn.php';
if( isset($_SESSION['user_id']) ){
$records = $conn->prepare('SELECT id,username,password FROM assignment2 WHERE id = :id');
$records->bindParam(':id', $_SESSION['user_id']);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
$user = NULL;
if( count($results) > 0){
$user = $results;
}
}
?>
非常感谢,期待一些好的答案^^"
只需使用 WHERE 检查 id = $_SESSION['user_id'] ($sql = 'SELECT * from assignment2 WHERE id = '.$_SESSION['user_id'];
)
来扩展您的 sql 查询 ($sql = 'SELECT * from assignment2';
)
//foreach
$sql = 'SELECT * from assignment2 WHERE id = '.$_SESSION['user_id'];
$result = $conn->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
if(count($result)) {
echo '<table><tr><th>Id</th><th>Fullname</th><th>Username</th></tr>';
foreach ($rows as $row) {
echo '<tr>';
echo '<td>'.$row["id"].'</td>';
echo '<td>'.$row["fullname"].'</td>';
echo '<td>'.$row["username"].'</td>';
echo '<tr>';
}
echo '</table>';
}
我是 PHP 的新手,Mysql 我正在为我的作业编写购物网站,
我的登录、注册和数据库都已启动 运行,现在我正处于需要创建从数据库中提取数据所需的用户个人资料页面的阶段,
首先,我让这段代码正常工作,因为它会从我的 table、
中提取所有内容 <?php
$sql = 'SELECT * from assignment2';
$result = $conn->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
if(count($result)) {
echo '<table><tr>';
//Heading
foreach ($rows[0] as $columnName => $value) {
echo '<th>' . $columnName . '</th>' ;
}
echo '</tr>';
foreach ($rows as $row) {
echo '<tr>';
foreach ($row as $value) {
echo '<td>' . $value . '</td>';
}
echo '<tr>';
}
echo '</table>';
}
?>
但我的问题是如何让它只提取与登录会话匹配的那个
这是我的 SESSION 代码
<?php
session_start();
require '../ppuyakul/php/db_conn.php';
if( isset($_SESSION['user_id']) ){
$records = $conn->prepare('SELECT id,username,password FROM assignment2 WHERE id = :id');
$records->bindParam(':id', $_SESSION['user_id']);
$records->execute();
$results = $records->fetch(PDO::FETCH_ASSOC);
$user = NULL;
if( count($results) > 0){
$user = $results;
}
}
?>
非常感谢,期待一些好的答案^^"
只需使用 WHERE 检查 id = $_SESSION['user_id'] ($sql = 'SELECT * from assignment2 WHERE id = '.$_SESSION['user_id'];
)
$sql = 'SELECT * from assignment2';
)
//foreach
$sql = 'SELECT * from assignment2 WHERE id = '.$_SESSION['user_id'];
$result = $conn->query($sql);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
if(count($result)) {
echo '<table><tr><th>Id</th><th>Fullname</th><th>Username</th></tr>';
foreach ($rows as $row) {
echo '<tr>';
echo '<td>'.$row["id"].'</td>';
echo '<td>'.$row["fullname"].'</td>';
echo '<td>'.$row["username"].'</td>';
echo '<tr>';
}
echo '</table>';
}