无法添加或更新子行:外键约束失败(Mysql 和外键)

Cannot add or update a child row: a foreign key constraint fails (Mysql and Foreign key)

当我尝试 运行 代码时,出现此错误

Cannot add or update a child row: a foreign key constraint fails (hotel_info.results, CONSTRAINT results_ibfk_5 FOREIGN KEY (CustomerID) REFERENCES customer (CustomerID) ON DELETE CASCADE ON UPDATE CASCADE)

这是代码

$result = mysql_query("select customer.CustomerID from customer inner join results on customer.CustomerID = results.CustomerID where customer.Username = '".$aid."'");
            if (false === $result) 
            {
                echo     mysql_error();
            }

if (isset($_POST["submitbtn"]))
{
    $LP = $_POST["LP"];
    $budget = $_POST["budget"];
    $checkin = $_POST["CheckIn"];
    $checkout = $_POST["CheckOut"];
    $unit = $_POST["unit"];
    $smokep = $_POST["SmokeP"];
    $spreq = $_POST["sp_req"];


        if($checkin>$checkout)
        {
        ?>
        <script type="text/javascript">
                alert("End Date must greater than Start Date.");
        </script>           

        <?php
        }
        else
        {
            $query = mysql_query("INSERT INTO results(`LP`, `budget`, `CheckIn`, `CheckOut`, `unit`, `SmokeP`, `sp_req`, `CustomerID`) values ('$LP', '$budget', 
                                        '$checkin', '$checkout', '$unit', '$smokep', '$spreq', '$result')");    

            if (false === $query) 
            {
                echo     mysql_error();
            }

            echo "Reservation form has been submitted!<br>
                <a href=view.php>view all</a>";

        }
}

这是sql

CREATE TABLE IF NOT EXISTS `results` (
  `BookID` int(10) NOT NULL AUTO_INCREMENT,
  `LP` varchar(50) DEFAULT NULL,
  `budget` varchar(50) DEFAULT NULL,
  `CheckIn` varchar(50) DEFAULT NULL,
  `CheckOut` varchar(50) DEFAULT NULL,
  `unit` int(50) DEFAULT NULL,
  `SmokeP` varchar(50) DEFAULT NULL,
  `sp_req` varchar(255) DEFAULT NULL,
  `CustomerID` int(10) NOT NULL,
  PRIMARY KEY (`BookID`),
  KEY `Username` (`CustomerID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=48 ;

CREATE TABLE IF NOT EXISTS `customer` (
  `CustomerID` int(10) NOT NULL AUTO_INCREMENT,
  `Username` varchar(50) NOT NULL,
  `Password` varchar(50) NOT NULL,
  `Email` varchar(50) NOT NULL,
  `ContactNo` int(10) NOT NULL,
  PRIMARY KEY (`CustomerID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;

因为这个错误我已经卡了两天了,请帮忙

从错误中可以看出外键约束失败。请检查您的 customer table,其中必须包含您尝试插入 resultsCustomerID ] table 插入查询,即检查 $id 的值。您是否为 $id

分配了任何值
$query = mysql_query("INSERT INTO results(`LP`, `budget`, `CheckIn`, `CheckOut`, `unit`, `SmokeP`, `sp_req`, `CustomerID`) values ('$LP', '$budget', 
                                        '$checkin', '$checkout', '$unit', '$smokep', '$spreq', '$id')");    

In above query value for $id not set so first assign value to that.