0

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

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

我正在创建一个函数。roll numbr 值为 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";

    }

?>
4

1 回答 1

0

你可能想要

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)作为数据库功能。请。现在做 ;)

于 2012-05-31T08:59:12.050 回答