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();