从多个表中查询如何调用列从(比方说,例如)登录表,该表具有以下的列如何选择MySQL和PHP
username password type(whether admin/user)
我的其他表说,学生表中有以下
firstname lastname address
我要的是当他的帐户的用户登录, 他的帐户类型将被验证他是否是管理员 或用户(我已经知道如何实现),我需要知道如何选择用户名和密码f从登录表连同来自学生表的名字,姓氏和地址并将它们存储到$ _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注入,但请注意,因为我还是我的学生。我很快就会了解它。
什么是两个表的公共列? – Akshay
@Akshay这不就是为什么我有问题与我的内部连接,但对于您的信息我有一个登录表列l_user和l_type这是有点接近我的学生表与列s_username和s_password是共同的。 –
连接两个表的主要必要性是在它们之间有一个共同的列。 l_user是否从学生登录== s_username? – Akshay