2014-09-06 56 views
0

我的形式有學生證,電子郵件,姓名...和複選框一個php/MySQL表格與一個公共字段的兩個表?

我設法保存studentid和複選框在表中並創建了一個新表來存儲所有相關學生證其他信息

表1 studentid ----- checkboxselections ....

表2 studentid -----電子郵件----名

我必須插入查詢,一個用於studentid和複選框和一個用於(表2)

$sql="INSERT INTO courses (studentid, ckb) 
    VALUES ('$studentid', '$cc')"; 

    $sql2="INSERT INTO studentinfo (studentid, email, name) 
    VALUES ('$studentid', '$email', $fname)"; 

$ sql2無法存儲數據但是$ sql存儲數據就好,我該如何解決這個問題?

這裏是完整的代碼

$studentid = mysqli_real_escape_string($dbcon, $_GET['studentid']); //echo $studentid; 
     $email = $dbcon->real_escape_string($_GET['email']); 
     $fname = $dbcon->real_escape_string($_GET['fname']); 

$name = $_GET['ckb']; 
if(isset($_GET['ckb'])) //checkboxes 
{ 
foreach ($name as $courcess){ 
$cc=$cc. $courcess.','; 
} 
} 


    $sql="INSERT INTO courses (studentid, ckb) 
    VALUES ('$studentid', '$cc')"; 

     $sql2="INSERT INTO studentinfo (studentid, email, name) 
    VALUES ('$studentid', '$email', $fname)"; 


    if (!mysqli_query($dbcon,$sql)) { 
    die('Error: ' . mysqli_error($dbcon)); 
} 
echo " Thank you for using IME Virtual Registeration "; 
     mysqli_close($dbcon); 
?> 

我的表單方法是GET

+0

你在哪裏運行$ sql2? mysqli_query($ dbcon,$ sql2) – Masoomian 2014-09-06 07:05:55

回答

2

我推薦你使用準備語句和事務,而不是mysqli的查詢。

您忘記了與第二個查詢mysqli_query:

$sql="INSERT INTO courses (studentid, ckb) 
VALUES ('{$studentid}', '{$cc}')"; 

    $sql2="INSERT INTO studentinfo (studentid, email, name) 
VALUES ('{$studentid}', '{$email}', '{$fname}')"; 


    if (!mysqli_query($dbcon,$sql)) { 
    die('Error: ' . mysqli_error($dbcon)); 
    } 

    if (!mysqli_query($dbcon,$sql2)) { 
    die('Error: ' . mysqli_error($dbcon)); 
    } 
echo " Thank you for using IME Virtual Registeration "; 
    mysqli_close($dbcon); 
?> 

這裏是準備語句中的例子,你不需要使用real_escape_string」

$stmt = $mysqli->prepare("INSERT INTO courses VALUES (?, ?)"); 
$stmt->bind_param('ds', $studentid, $cc); 
$stmt->execute(); 


$stmt = $mysqli->prepare("INSERT INTO studentinfo VALUES (?, ?, ?)"); 
$stmt->bind_param('dss', $studentid, $email, $fname); 
$stmt->execute(); 
+0

謝謝,這是我猜的問題的一部分..現在我知道這一點,並確定其相關的正確定義$電子郵件$ fname 錯誤:'字段列表'中的未知列'myname' – Azizi 2014-09-06 07:09:06

+0

我什麼查詢你得到這個錯誤? – Victorino 2014-09-06 07:13:41

+0

$ FNAME查詢,我重新定義它作爲 $ FNAME = mysqli_real_escape_string($ dbcon,$ _POST [ '名稱']); 現在一切都不過罰款只有studentid被存儲在第二個表中,姓名和電子郵件是不是 – Azizi 2014-09-06 07:18:11

0

請試試這個

if (!mysqli_query($dbcon,$sql)) { die('Error: ' . mysqli_error($dbcon)); } else { if (!mysqli_query($dbcon,$sql2)) { die('Error: ' . mysqli_error($dbcon)); } else { echo " Thank you for using IME Virtual Registeration "; } } mysqli_close($dbcon);

0
if (!mysqli_query($dbcon,$sql)) 
{ 
    die('Error: ' . mysqli_error($dbcon)); 
} 
else 
{ 

    if (!mysqli_query($dbcon,$sql2)) { 
     die('Error: ' . mysqli_error($dbcon)); 
    } 
} 

Hope it will help..... 
相關問題