【问题标题】:Resource id #6 error, Not sure how to fix it资源 id #6 错误,不知道如何解决
【发布时间】:2015-03-17 12:36:15
【问题描述】:

在我的网站上提交脚本时,我不断收到“资源 id #6”错误。我使用的代码与我用于注册网站的代码类型相同,并且可以正常工作,但此脚本根本不起作用。我的代码所做的是向数据库发送带有字段的预订请求。我不断收到 Resource id#6 error ,我用谷歌搜索了那是什么,但我似乎无法弄清楚出了什么问题。我是 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);
            }
        }*/
}

?>

【问题讨论】:

  • 你在哪条线上?
  • 我删除了回显查询;谢谢,删除了资源错误,但脚本仍然失败,但这显然是我这边的事情
  • @AndrewO'Neill:仍然失败是什么意思?它做什么以及应该做什么?
  • 实际上我有另一个查询,它关于 $Activated = '0' 以及我如何将其插入表中,这是一种有效的方法吗?
  • 失败,因为它没有在我的数据库中完成“插入”语句,由于某种原因,它在循环的 $result 条件下失败

标签: php sql


【解决方案1】:

您的第二个 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)";

从您的代码第 30 行删除 echo $query

$query 中的不是查询,而是 mysql 结果对象。你不能用这种方式处理它,你不能回应它。

【讨论】:

  • 呃,总是小事,非常感谢你解决了我的头痛
  • @AndrewO'Neill:尝试更好地缩进你的代码,你可以自己发现这个错误。这种“内联”样式不合适。
猜你喜欢
  • 1970-01-01
  • 2015-01-11
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-18
  • 2019-09-10
  • 2016-05-16
相关资源
最近更新 更多