從多個表中查詢如何調用列從(比方說,例如)登錄表,該表具有以下的列如何選擇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