Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从已登录的用户中选择数据_Php_Mysql_Logged - Fatal编程技术网

Php 从已登录的用户中选择数据

Php 从已登录的用户中选择数据,php,mysql,logged,Php,Mysql,Logged,当用户登录时,我希望他看到他所做的课程和结果 目前,我有以下几点: <?php session_start(); if(isset($_SESSION['user'])) { $query = "SELECT applied_cours, stud_res FROM students"; $result = mysql_query($query); while($student = mysql_fetch_array($result)) { echo

当用户登录时,我希望他看到他所做的课程和结果

目前,我有以下几点:

<?php
  session_start();
  if(isset($_SESSION['user'])) {

  $query = "SELECT applied_cours, stud_res FROM students";
  $result = mysql_query($query);

    while($student = mysql_fetch_array($result)) {
      echo "<p>" . $student['applied_cours'] . "</p>";
      echo "<p>" . $student['stud_res'] . "</p>";
    }
  }
?>

添加
where
子句

$query = "SELECT applied_cours, stud_res FROM students Where username='$_SESSION[user]'"; 

如果用户已登录,请将其ID存储在
$\u会话中

$_SESSION['user']['id'] = [insert user ID here]; // the stud_id
然后:


尽管使用参数化sql语句,但由于您不能信任输入,因此不应将变量直接写入语句中

$stmt = $dbh->prepare("SELECT applied_cours, stud_res FROM students WHERE stud_id =  ? ");
$stmt->bindParam(1, $_SESSION['user']['id']);

$stmt->execute();

阅读此处:

在SELECT语句中使用WHERE子句,然后在SQL语句中使用WHERE子句。在尝试构建使用SQL的应用程序之前,请先了解如何使用SQL。正如其他人所说,使用WHERE子句,但在主键上使用它以避免冲突,例如,如果
username
不是您的主键,那么如果您有两名学生被命名,您将遇到问题felix@john15如果这个答案有效,你应该接受它1)承认这个用户的努力;2)让其他人更容易看到这个问题得到了令人满意的回答。
$query = 'SELECT applied_cours, stud_res FROM students WHERE stud_id = "'.$_SESSION['user']['id'].'"';
$stmt = $dbh->prepare("SELECT applied_cours, stud_res FROM students WHERE stud_id =  ? ");
$stmt->bindParam(1, $_SESSION['user']['id']);

$stmt->execute();