如何从mysql和php中的多个表中选择查询

大卫·戴亚兹

我如何调用(例如)登录表中的列,该表具有以下列

 username     password     type(whether admin/user)

我的另一张桌子说学生桌子有以下内容

 firstname  lastname     address

我想要的是,当用户登录他的帐户时,将验证他的帐户类型是管理员还是用户(我已经知道如何实现),我需要知道如何从登录名中选择用户名和密码表以及来自学生表的名字,姓氏和地址,并将它们存储到$ _SESSION

我看到了INNER JOIN的语法,但是我对此感到很困惑,因为它仅选择每个表共有的所有列

下面是我的代码示例

<?php
session_start();
require('config/db_con.php');
if(isset($_SESSION['username']) !="" ) {
    header("location: user.php");
}
?>
<?php
if(isset($_POST['submit'])){
    $user = $_POST['username'];
    $pass = $_POST['password'];

    $fetch = mysql_query("SELECT * FROM login where l_user = '$user' && l_pass = '$pass'");
    $fetch1 = mysql_query("SELECT * FROM student where s_username = '$user' && s_password = '$pass'");
    $data = mysql_fetch_array($fetch);
    $data1 = mysql_fetch_array($fetch1);



    if($data['l_type'] == "user" || $data['l_type'] == "User"){


    $_SESSION['username'] = $data['l_user'];
    $_SESSION['password'] = $data['l_pass'];
    $_SESSION['firstname'] = $data1['s_fname'];
    $_SESSION['lastname'] = $data1['s_lname'];
    $_SESSION['course'] = $data1['s_course'];
    $_SESSION['yrsec'] = $data1['s_yrsec'];
    $_SESSION['sid'] = $data1['s_sid'];
    $_SESSION['lid'] = $data1['s_lid'];

        header('location: user.php');
    }
    else if($data['l_type'] == "admin" || $data['l_type'] == "Admin"){


    $_SESSION['username'] = $data['l_user'];
    $_SESSION['password'] = $data['l_pass'];
        header('location: admin.php');
    }


}

?>

如您所见,我有两个SELECT查询,这是因为我试图找到一种方法,但是失败了。

PS:我知道这很容易进行SQL注入,但是请注意,因为我还是我的学生。我会尽快学习。

乌斯曼·扎法尔(Usman Zafar)

当前架构存在缺陷,因为它们应该是代表实体(在这种情况下为用户)的唯一标识符(列)。为了简单起见,应该有一个列“ id”,它将用作保存用户基本信息的主用户表的主键,而另一个表可以引用与外键相同的id。

看看@这两个教程,因为这将消除您的疑虑

1:使用PHP / MYSQL进行简单的安全登录

2:内部加入PHP

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何从MySQL和PHP中的多个表中检索数据?

使用php和mySQL从两个表中选择*

如何编写选择查询以使用PHP MySQL中的外键和联接从5个表中获取数据?

我的MySql查询需要帮助(从多个表中选择)

如何从博客中选择三个表,包括作者,帖子和视图,并在php mysql中显示?

MySQL从多个表和最新记录中选择

MySQL查询根据特定条件从多个表中选择

在一个mysql查询中从多个表中选择数据

查询以从多个表中选择MySQL

优化查询以从多个表中选择数据

在单个查询中从多个表中选择记录计数

在php和mysql中选择时如何删除多个复选框?

在Rails中如何从多个表中选择其他列

MySQL从多个表中选择

MySQL从多个表中选择和求和而不重复

如何在mysql查询中选择多个外键

使用MySQL从Java中的多个表中选择前缀列

PHP如何显示mysql选择查询表

MySQL查询从多个表中选择数据进行比较

从多个表中选择Mysql?

MySQL查询从多个范围中选择

如何使用PHP和mySQli从MySQL数据库中的一个以上的表中选择信息,必须结合使用单个查询

从多个表中选择-PHP

如何修复从数据库中错误的表中选择的 PHP 和 MYSQL 代码错误

在选择查询 php mysql 中选择查询

在一个 mysql 查询中从多个表中选择数据并加入 group by

如何从多个表中选择和获取数据(Laravel)

“自联接”时如何从SQL中的多个表中选择*?

如何执行 SQL 查询以从多个表中选择信息