Php 引用完整性错误
我在数据库期末考试项目中遇到了一些引用完整性错误。我自己也试过想办法,但没用,我希望这里的人能给我指明正确的方向 问题是我有三个表,前两个是第三个表的父表。我试图构造一个php脚本,它将更新两个父表,然后将数据插入子表。到目前为止,我认为我所拥有的一切都是可行的,但每当我尝试使用它时,我都会出现以下错误: 在采购中插入CustomerID、PurchaseOrderNo、PurchaseTotal、DateOfPurchase、SalesorSoID、SpecialLorder值“10”、“0000”、“100.00”、“0000-00-00”、“5555”、“N” 无法添加或更新子行:外键约束“xxxxxx”失败。“购买”,约束“购买”\u ibfk\u 1“外键”CustomerID“在更新级联时删除级联时引用“CustomerInfoCustomerID” 你知道我哪里出了问题吗Php 引用完整性错误,php,mysql,Php,Mysql,我在数据库期末考试项目中遇到了一些引用完整性错误。我自己也试过想办法,但没用,我希望这里的人能给我指明正确的方向 问题是我有三个表,前两个是第三个表的父表。我试图构造一个php脚本,它将更新两个父表,然后将数据插入子表。到目前为止,我认为我所拥有的一切都是可行的,但每当我尝试使用它时,我都会出现以下错误: 在采购中插入CustomerID、PurchaseOrderNo、PurchaseTotal、DateOfPurchase、SalesorSoID、SpecialLorder值“10”、“00
########## FOREIGN KEY CHECK START ##########
$sql = "select count(*) as count from CustomerInfo where '$customerid' = CustomerID";
$result = mysqli_query($con,$sql)
or die('Error: ' . mysql_error());
$row = mysqli_fetch_assoc($result);
if ( $row['count']==0 ){
"INSERT INTO CustomerInfo ('CustomerID') VALUES ('$customerid');";
echo "<p>Customer ID Not Found. <br />New CustomerID Created.</p>";
}
$sql2 = "select count(*) as count from EmployeeInfo where '$salespersonid' = SalesPersonID;";
$result2 = mysqli_query($con,$sql)
or die('Error: ' . mysql_error());
$row2 = mysqli_fetch_assoc($result2);
if ( $row2['count']==0 ){
"INSERT INTO EmployeeInfo ('SalesPersonID')VALUES ('$salespersonid');";
echo "<p>Salesperson ID Not Found. <br />New Salesperson ID Created.</p>";
}
########## FOREIGN KEY CHECK END ##########
########## DATA ENTRY SQL STATEMENT START ##########
$sql3 = "INSERT INTO Purchases (CustomerID,
PurchaseOrderNo,
PurchaseTotal,
DateOfPurchase,
SalesPersonID,
SpecialOrder)
VALUES ('$customerid',
'$purchaseorderno',
'$purchasetotal',
'$dateofpurchase',
'$salespersonid',
'$specialorder')";
########### DATA ENTRY SQL STATEMENT END ##########
########## INPUT SUCCESS/FAILURE REPORTING#########
if (mysqli_query($con, $sql3)) {
echo "<P>Record Successfully Created</P><BR />";
} else {
echo "Error: " . $sql9. "<br>" . mysqli_error($con);
}
mysqli_close($con);
echo "<P>Connection Successfully Closed.</P>";
您没有对CustomerInfo或EmployeeInfo执行插入查询 你想要:
INSERT INTO CustomerInfo (CustomerID) VALUES ('$customerid')
MySQL的确切错误是什么?我从未听说过引用完整性错误…它告诉您,您尝试插入的CustomerID在CustomerInfo表中不存在。如果我们看到表定义,可能会有所帮助。看起来您实际上没有运行针对CustomerInfo的插入查询。。。或为雇员信息
INSERT INTO CustomerInfo ('CustomerID') VALUES ('$customerid')
INSERT INTO CustomerInfo (CustomerID) VALUES ('$customerid')