一个卷号不能再次添加


One roll number cant be added again

可能的重复项:
不能添加相同的卷号

我希望我的代码以这种方式运行,如果一旦我添加了卷号,就无法在注册中再次添加它......就像注册电子邮件地址后,错误显示电子邮件地址已被占用一样。

我正在创建一个函数。 的滚动数字值为 1,它将显示错误,如果不是 1,则不应显示错误

function selectroll($studentname,$rollnumber)
    {
        $sql = "SELECT * FROM tblstuden WHERE studentname = 'studentname' and rollnumber = '$rollnumber';";
        $obj_db = new DB();
        $obj_db->query($sql);
        $row = $obj_db->rsset();
        if{
            $val = 1;
        }
        else{
            $val = 0;
        }
        $obj_db->db_close();
        return $val;
    }

        $this->_id($row[id]);
        $this->_studentname($row[studentname]);
        $this->_rollnumber($row[rollnumber]);
        $this->_classname($row[classname]);
        $obj_db->db_close();
    }

}
 ?>

并且通过此方法在页面上调用该函数

<?php
if(isset($_POST['btnSubmit']) and $_GET['action'] == "Add")
{
    $val = $Tblstuden->selectroll($_POST['studentname'],$_POST['rollnumber']);
    if ($val =='1')
    {
    $Tblstuden->copyPostData();
    $Tblstuden->insert();   
    echo"asdf";
    }
    redirect("index.php?page=studentlist"); 
}
else
{
    echo"abc";
    }
?>

你可能想要

function selectroll($studentname,$rollnumber)     
    {     
        $sql = "SELECT * FROM tblstuden WHERE studentname = 'studentname' and rollnumber = '$rollnumber';";     
        $obj_db = new DB();     
        $obj_db->query($sql);     
        $row = $obj_db->rsset();     
        if ($row){     
            $val = 1;
            $this->_id($row[id]);     
            $this->_studentname($row[studentname]);     
            $this->_rollnumber($row[rollnumber]);     
            $this->_classname($row[classname]);     
        }     
        else{     
            $val = 0;     
        }     
        $obj_db->db_close();     
        return $val;     
    }     
}     
?>

在顶部函数的第 8 行中 - 否则代码将无法编译。


请注意,您的代码受 mysql 注入的影响,在习惯旧方法之前,您应该考虑将 PDO (http://php.net/manual/en/book.pdo.php) 用于数据库函数。请。现在就做;)