<?php
session_start();
$teachername="";
$classname="";
$classoutline="";
//if user is not logged in, they cannot access this page
if(empty($_SESSION['account'])) {
header('location:../index.php');
}
//connect to the database
$db = mysqli_connect('localhost','root','','registration');
$db->set_charset("utf8");
if ($db->connect_error){
die("連接失敗".$mysqli->connect_error);
}
else {
echo "資料庫伺服器連結成功及資料庫開啟成功<br>";
}
$teachername = $_POST['teachername'];
$classname = $_POST['classname'];
$classoutline = $_POST['classoutline'];
//get teachers uid
$result = $db->query("SELECT id from users where account = '".$_SESSION['account']."'");
while ($row = $result->fetch_assoc()) {
$uid = $row['id'];
}
//get course t_id
$newresult = $db->query("SELECT tID from teachers where uid = $uid");
$newrow = $newresult->fetch_assoc();
if($newrow){
$t_id = $newrow['tID'];
}
// teachers and course insert to db-table
//teachers
$sql = "INSERT INTO teachers (tname,uID) VALUES ('$teachername','$uid')";
if($db->query($sql)){
echo "編號".$t_id."老師新增成功<br>";
}else{
echo"老師新增失敗<br>";
}
//course
$newsql = "INSERT INTO course (cname,coutline,t_ID) VALUES ('$classname','$classoutline','$t_id')";
if($db->query($newsql)){
echo "課程新增成功";
}else{
echo "課程新增失敗";
}
?>
想請教一下大家!
現在正在做一個學習網的專題,資料庫有會員、老師、課程、學生,4張表
因為每位會員都可以進行開課、上課,所以有用外鍵去連結每個表
現在已經用好了"老師資料表u_id"與"會員資料表id"的關聯,但在"課程t_id"、"老師tid"就遇到一些問題
$t_id可以echo出來,但是沒辦法加進課程的資料表 不知道是哪裡有問題...
PHP 內的 SQL 語法怪怪的 .....
$uid,$teachername,$classnam,$classoutline,$t_id => PHP 變數
把組合好的 SQL 先 echo 看看對不對.
若還是找不到問題可以往資料表方向去看,也許是tid這個欄位型別、長度或者索引設錯的原因,剛接觸資料庫不久的人,常見的狀況像是以為所有ID都要設為主鍵或唯一鍵,導致搞半天不是錯在sql語法而是資料表規劃問題。