如果使用PHP在MySQL中已存在id,如何检查相同的有效性

时间:2013-11-13 04:47:36

标签: php mysql validation

我已经创建了php,并使用mysql数据库插入了php的功能。我不知道如何使用数组来检查是否> = 1并显示错误消息。

我有commit.php代码:

switch ( $_GET['action'] ) {
    case "Insert":
        $courseid = $_POST['courseid'];

        if( $courseid[0] > 1 ) {
            echo "Course ID Already in Exists<br/>";
        } else {
            $insertSQL = sprintf( "INSERT INTO tbl_course ( courseid, coursename, classstatus, startdate, starttime, enddate, endtime, ccc, venue, tutorid, remarks) VALUES ( %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s )",
            GetSQLValueString( $_POST['courseid'], "text" ),
            GetSQLValueString( $_POST['coursename'], "text" ),
            GetSQLValueString( $_POST['classstatus'], "text" ),
            GetSQLValueString( $_POST['startdate'], "text" ),
            GetSQLValueString( $_POST['starttime'], "text" ),
            GetSQLValueString( $_POST['enddate'], "text" ),
            GetSQLValueString( $_POST['endtime'], "text" ),
            GetSQLValueString( $_POST['ccc'], "text" ),
            GetSQLValueString( $_POST['venue'], "text" ),
            GetSQLValueString( $_POST['tutorid'], "text" ),
            GetSQLValueString( $_POST['remarks'], "text" ) );

            mysql_select_db( $database_conn, $conn );
            $Result1 = mysql_query( $insertSQL, $conn ) or die( mysql_error() );

            $insertGoTo = "tc_success.php?action=Insert&tcid=" .$_POST['courseid'];
        }

但是,它不能使用此代码。

2 个答案:

答案 0 :(得分:0)

添加唯一约束并检查结果。

alter table tbl_course add unique index(courseid);

答案 1 :(得分:0)

在mysql中执行查询并检查此coursid是否已存在。将代码更改为。

    case "Insert":
        $courseid = $_POST['courseid'];

        $result = mysql_query('SELECT 1 from tbl_course WHERE courseid = $courseid');
        if( mysql_num_rows( $result )> 1 ) {
            echo "Course ID Already in Exists<br/>";
        } else {   
            //other code here
        } 

注意:不推荐使用mysq_ *函数使用mysqli或PDO