资源ID#6错误,不确定如何解决它

时间:2015-03-17 12:36:15

标签: php sql

我不断获得资源ID#6'在我的网站上提交脚本时失败。我使用的代码与我用于注册网站的代码类型相同但有效,但此脚本根本不起作用。我的代码所做的是发送预订请求,其中包含数据库中显示的字段。我一直收到资源ID#6错误,我已经搜索了那是什么,但我似乎无法弄清楚什么是错的。我是php的初学者,所以任何有关寻找以避免资源ID#6错误的提示都会有很多帮助

<?php
//$pattern="/^.+@.+/.com/";

//error_reporting(0);

if(isset($_POST["submit"])){
    $Name_of_Person = $_POST['Name_of_Person'];
    $Name_of_Group = $_POST['Name_of_Group'];
    $room = $_POST['room'];
    $How_Many_People = $_POST['How_Many_People'];
    $Date_of_Booking = $_POST['Date_of_Booking'];
    $End_time = $_POST['End_time'];
    $Purpose = $_POST['Purpose'];
    $Contact_Number = $_POST['Contact_Number'];
    $Contact_Email = $_POST['Contact_Email'];
    $Alcohol = $_POST['Alcohol'];
    $Security = $_POST['Security'];
    $Projector = $_POST['Projector'];
    $Extra_Chairs = $_POST['Extra_Chairs'];
    $Extra_Info = $_POST['Extra_Info'];
    $Activated = '0';

    $con = mysql_connect('localhost','root','test123') or die("couldn't connect");
    mysql_select_db('bookerdb') or die("couldn't connect to DB");


        //if(filter_var($email, FILTER_VALIDATE_EMAIL)){//(preg_match($pattern, $_POST['Contact_Email'])){
            $query = mysql_query("SELECT * FROM `booking_table` WHERE Date_of_Booking='".$Date_of_Booking."' AND room='".$room."'");
            $numrows = mysql_num_rows($query);
            echo $query;
            if($numrows==0){
                $sql="INSERT INTO `booking_table` (Name_of_Person,Name_of_Group,room,How_Many_People,Date_of_Booking,End_time,Purpose,Contact_Number,Contact_Email,Alcohol,Security,Projector,Extra_Chairs,Extra_Info, Activated) VALUES ('$Name_of_Person','$Name_of_Group','$room','$How_Many_People','$Date_of_Booking','$End_time','$Purpose','$Contact_Number','$Alcohol','$Security','$Projector','$Extra_Chairs','$Extra_Info',$Activated)";
                $result = mysql_query($sql);
                if($result){
                    echo "Sent to be approved";
                    $redirect_page = '../ASC.php';
                    $redirect = true;
                    if($redirect==true){
                        header('Location: ' .$redirect_page);
                    }
                }else{
                    echo "Failed";
                }
            }else{
                echo"There is already a requested booking on that date & time";
                $redirect_page = '../EAR.php';
                $redirect = true;
                if($redirect==true){
                    header('Location: ' .$redirect_page);
                }
            }
        /*}else{
            echo "error";
            $redirect_page = '../EWF.php';
            $redirect = true;
            if($redirect==true){
                header('Location: ' .$redirect_page);
            }
        }*/
}

?>

1 个答案:

答案 0 :(得分:0)

第二个SQL查询中有错误。您尝试将14个值插入15列(以您忘记的值$Contact_Email)。

$sql="INSERT INTO `booking_table` (Name_of_Person,Name_of_Group,room,How_Many_People,Date_of_Booking,End_time,Purpose,Contact_Number,Contact_Email,Alcohol,Security,Projector,Extra_Chairs,Extra_Info, Activated) VALUES ('$Name_of_Person','$Name_of_Group','$room','$How_Many_People','$Date_of_Booking','$End_time','$Purpose','$Contact_Number','$Contact_Email','$Alcohol','$Security','$Projector','$Extra_Chairs','$Extra_Info',$Activated)";

从代码中删除echo $query,第30行。

$query中不是查询,而是mysql结果对象。你不能通过这种方式使用它,你无法回应它。