0

我想检查输入表单上的信息并将其与存储在数据库中的信息进行比较。基本上。如果 trainer, sessionlot eventdate 是相同的 dbtrainer, dbeventdate dbsessionslot ECHO "Booked"; 否则插入预订表

我对编程知之甚少,真的可以在这方面有所帮助。

这是我正在使用的代码片段。

if(isset($_GET['add'])){
    $trainee = $_POST['txttrainer'];
    $trainer = $_POST['txttrainee'];
    $sessionSlot = $_POST['txtsession'];


    $eventdate = $month."/".$day."/".$year;
    $query = mysql_query("SELECT * FROM BOOKING WHERE trainer='$trainer' AND SessionSlot='$sessionslot");


    $sqlinsert = "insert into booking (Trainee,Trainer,sessionSlot,eventDate,dateAdded) values ('".$trainee."','".$trainer."','".$sessionSlot."','".$eventdate."',now())";
    $resultinsert = mysql_query($sqlinsert);

            $numrows = mysql_num_rows($query);
            if($numrows == 1) {
                echo "this timeslot is booked"
                if($resultinsert){
                    echo "Booking Successful....";
                 }else{
                     echo "Booking Failed";
                 }
             }
}
4

2 回答 2

1
    if(isset($_GET['add'])){
    $trainee = $_POST['txttrainer'];
    $trainer = $_POST['txttrainee'];
    $sessionSlot = $_POST['txtsession'];


    $eventdate = $month."/".$day."/".$year;
    $query = mysql_query("SELECT * FROM BOOKING WHERE trainer='$trainer' AND SessionSlot='$sessionslot");


    $sqlinsert = "insert into booking (Trainee,Trainer,sessionSlot,eventDate,dateAdded) values ('".$trainee."','".$trainer."','".$sessionSlot."','".$eventdate."',now())";


            $numrows = mysql_num_rows($query);
            if($numrows >0) {
                echo "this timeslot is booked"
             }else{
                 $resultinsert = mysql_query($sqlinsert);
                 if(mysql_error()==""){
                    echo 'time slot booked';
                 }else{
                    echo 'error';
                 }
             }
    }

解释:

如果选择了行,则预定时间段,否则执行查询。如果查询没有错误,则打印成功。

于 2013-05-26T22:51:50.677 回答
0

如果您调用mysql_query,则执行查询。所以你在INSERT检查是否SELECT返回一行之前执行。

这意味着您应该将INSERT零件放在if($numrows != 1)条件中。

请注意,mysql_query不推荐使用:http ://ch1.php.net/manual/en/function.mysql-query.php ,您应该使用 MySQLi 或 PDO_MySQL。您的代码容易受到 SQL 注入的攻击。

于 2013-05-26T22:49:00.973 回答