2016-04-02 15 views
-1

私は生徒のログインデータをデータベースに保存するフォームを用意しています。フォームには、「admission_number」、「username」および「password」フィールドが含まれます。入館番号が既に存在し、ユーザーがそれを再び追加しようとするとエラーが表示されます。ここにレコードを挿入するための私の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

です。 –

+0

[PHPでMySQL APIを混在することはできますか?](http://stackoverflow.com/questions/17498216/can-i-mix-mysql-apis-in-php) –

+1

あなたはまた、ヘッダの前に出力しています –

答えて

0

あなたが怒鳴る問い合わせ

$ sqlを実行する必要がユニークかではありません: "学生からIDを選択admission_number = <> LIMITの0,1を";

このクエリの結果が表示された場合、現在のフォームの入場番号は一意ではありません。

このプロセスでは、ajaxリクエストを使用して処理することができます。

また、入場番号に一意のキー制約を与えることでmysqlで管理することもできます。

+0

彼らの質問の下に残ったコメントは読まれませんでしたか? –

0

これは、あなたがここにMySQLのAPIを混合していることを実現MySQLのクエリ

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