我如何调用(例如)登录表中的列,该表具有以下列
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注入,但是请注意,因为我还是我的学生。我会尽快学习。
当前架构存在缺陷,因为它们应该是代表实体(在这种情况下为用户)的唯一标识符(列)。为了简单起见,应该有一个列“ id”,它将用作保存用户基本信息的主用户表的主键,而另一个表可以引用与外键相同的id。
看看@这两个教程,因为这将消除您的疑虑
2:内部加入PHP
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句