2016-04-02 72 views
-1

我有一個表單,我將學生登錄數據保存到數據庫。該表格包括「入場號」,「用戶名」和「密碼」字段。如果准入號碼已經存在,並且用戶嘗試再次添加,我想顯示一個錯誤。這是我的php代碼插入記錄。如何防止sql數據庫中的重複數據

<?php 
     if(isset($_POST['submit'])) 
     { 
     $server  = 'localhost'; 
     $username = 'root'; 
     $password = ''; 

     $course_code=$_POST['course_code']; 
     $course_title=$_POST['course_title']; 
     $course_units=$_POST['course_units']; 
     $course_semester=$_POST['course_semester']; 


     $con=($GLOBALS["___mysqli_ston"] = mysqli_connect($server, $username, $password)); 
     if(!$con) 
     { 
     exit('Error: could not establish connection to the server'); 
     } 
     else 
     { 
     $con_db=((bool)mysqli_query($con, "USE esther")); 
     if(!$con_db) 
     { 
     exit('Error: Failed to connect to the database'); 
     } 
     else 
     { 
     if(!empty($course_code) && !empty($course_title) && !empty($course_units) && !empty($course_semester)) 
    { 
     $insert="INSERT INTO `course_table` VALUES('', '".$course_code."' ,'".$course_title."','".$course_units."','".$course_semester."')"; 
     $query=mysqli_query($GLOBALS["___mysqli_ston"], $insert); 
     $dup_admission_number = mysql_query("SELECT admission_number FROM users_table WHERE admission_number = $admission_number"); 
    } 
    if (@mysql_query($dup_admission_number)) { 
     echo 'Your admission number is already in our database.'; 
    exit; 
    } 

     if($query) 
     { 
       echo 'course added successfully!'; 
       header("location:add_course.php");  
     } 
     else { echo 'Error while adding Course.'; } 
    } 
    else 
    { 
     echo '*** fields cannot be blank ***.'; 
    } 
} 
} 
?> 
+1

你意識到你在這裏混的MySQL的API。 –

+0

可能重複的[我可以在PHP中混合MySQL API?](http://stackoverflow.com/questions/17498216/can-i-mix-mysql-apis-in-php) –

+1

您也在輸出標題之前 –

回答

0

要檢查入園人數是否唯一,你必須執行波紋管查詢

$ SQL: 「從學生,在admission_number = <>限制0,1選擇ID」;

如果此查詢顯示結果,那麼您當前表單的入場號碼不是唯一的。

您可以使用ajax請求執行此過程,也可以在插入查詢正在處理之前檢查它。

或者你可以通過給入口號賦予唯一的鍵約束來管理它。

+0

你沒有閱讀他們的問題留下的任何意見嗎? –

0

這是MySQL查詢

INSERT INTO sometable (data1, data2, data13) 
    SELECT 'username' FROM sometable 
WHERE NOT EXISTS 
    (SELECT username FROM sometable WHERE login='someusername'); 
相關問題