Проверка PHP Повторяющиеся данные в базе данных

0

Я хочу, StudentNumber поле StudentNumber повторяющихся данных. Например, если кто-то использует номер студента x означает, что другому пользователю больше не разрешается регистрировать x. Затем валидация гласит: "Пользователь уже существует".

Как я могу выполнить эту проверку?

Это мой код:

<?php
if(isset($_POST['submit'])){
    if(preg_match('/^[a-zA-Z\s]+$/',$_POST['fn'])) {
        if(preg_match('/^[A-Za-z\s-]+$/',$_POST['ln'])){
                if(preg_match('/^([a-z0-9])(([-a-z0-9._])*([a-z0-9]))*\@([a-z0-9])(([a-z0-9-])*([a-z0-9]))+(\.([a-z0-9])([-a-z0-9_-])?([a-z0-9])+)+$/i',$_POST['email'])){
                    if(preg_match('/^[0-9]{1,}$/',$_POST['c_number'])){
                        $fn=$_POST['fn'];
                        $ln=$_POST['ln'];
                        $gender=$_POST['gender'];
                        $address=$_POST['address'];
                        $email=$_POST['email'];
                        $c_number=$_POST['c_number'];
                        $s_number=$_POST['sn'];
                        $College=$POST['collage'];

                        mysql_query("insert into reg_member (firstname,lastname,address,gender,email,c_number,date,stunumber,collage)
                             values('$fn','$ln','$address','$gender','$email','$c_number',NOW(),'$s_number','$College')
                                ")or die(mysql_error());
                            ?>
                            <script type="text/javascript">
                             alert('Youre Successfully Register Thank You');
                            window.location="index.php";
                          </script>
                            <?php

                    }
                    else {
                        echo'<script type="text/javascript"> alert(\'invalid contact number\');</script>';
                    }

                }
                else {
                    echo'<script type="text/javascript"> alert(\'invalid email\');</script>';
                }


        }
        else {
            echo'<script type="text/javascript"> alert(\'invalid last name\');</script>';
        }
    }
    else {
        echo'<script type="text/javascript"> alert(\'invalid first name\');</script>';
    }
?>
  • 2
    Перестал читать после третьего вложенного если. Попробуйте сделать ваш код более читабельным
  • 1
    По сути, я не вижу запроса на выборку, поэтому, думаю, вам следует проверить это число перед вставкой, а запрос на выборку указывает на него. Но сначала сделай его чистым
Теги:

1 ответ

0

Поля MySQL могут иметь атрибут UNIQUE. Это позволяет использовать только уникальные записи - именно то, что вы хотите. Прочитайте это.

ALTER TABLE 'reg_member' ADD UNIQUE('stunumber');

MySQL даст вам ошибку при попытке вставить номер, который уже находится в базе данных. Вы можете проверить эту ошибку с помощью mysql_error и mysql_errno

Ещё вопросы

Сообщество Overcoder
Наверх
Меню