php - 打印出登录用户数据匹配登录SESSION

标签 php mysql session pdo user-profile

我是 PHP 和 Mysql 的新手,我正在为我的作业编写购物网站,

我已启动并运行我的登录、注册和数据库,现在我正处于需要创建我的用户个人资料页面的阶段,该页面需要从数据库中提取数据,

首先我让这段代码正常工作,因为它会从我的表中提取所有内容,

  <?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 匹配的那个

这是我的 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;
    }

}
?>

非常感谢,期待一些不错的答案^^"

最佳答案

只需扩展您的 sql 查询 ($sql = 'SELECT * from assignment2';) 并使用 WHERE 检查 if id = $_SESSION['user_id'] ($sql = 'SELECT *来自 assignment2 WHERE id = '.$_SESSION['user_id'];)

//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 - 打印出登录用户数据匹配登录SESSION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44041340/

相关文章:

PHP cookie superglobal 好像没有设置

PhpStorm Symfony 分析器

php - 获取排除少数用户的特定用户列表

mysql - NPM MySql 连接需要在文件中分开

php - MySQL:获取列出所有属性的产品

php - 多域一 session 无脂框架

PHP MYSQL 更新查询与 @variable 不起作用

php - 跟踪非现场点击

php - 如何检测用户的浏览器和操作系统并使用它从 PHP 页面动态修改我的 MySQL 数据库查询

php - Symfony2 - app.user 未与数据库同步