Php 我有3个if语句,其中包含3个通过外键相互关联的查询系统显示错误消息如何修复?
我有三个if语句,查询3个表,每个表都有一个来自前一个表的外键,但问题是系统没有获取另一个表(id)的外键,而是将值设为0 此代码背后的想法是用户输入政府名称并单击“添加”,然后系统插入政府名称……如果用户输入地区名称而未输入政府名称,则系统显示错误消息,否则系统将同时插入这两个值(但是在省id字段中的dist表中,系统输入0不是省id的正确id),因此当我尝试在第三个字段中输入$dist时,系统显示未定义变量:dist in 那么如何修复这个错误呢 代码:Php 我有3个if语句,其中包含3个通过外键相互关联的查询系统显示错误消息如何修复?,php,mysql,if-statement,Php,Mysql,If Statement,我有三个if语句,查询3个表,每个表都有一个来自前一个表的外键,但问题是系统没有获取另一个表(id)的外键,而是将值设为0 此代码背后的想法是用户输入政府名称并单击“添加”,然后系统插入政府名称……如果用户输入地区名称而未输入政府名称,则系统显示错误消息,否则系统将同时插入这两个值(但是在省id字段中的dist表中,系统输入0不是省id的正确id),因此当我尝试在第三个字段中输入$dist时,系统显示未定义变量:dist in 那么如何修复这个错误呢 代码: 如果每个pk都定义为自动递增,请使用
如果每个pk都定义为自动递增,请使用
mysqli\u insert\u id
并且不要使用mysql函数,那么这些pk都是不推荐的。请重新表述您的问题@Ofir Baruch您的意思??我甚至无法理解这段代码背后的逻辑。您能解释一下您预期会发生什么。这是您所问问题的重复,是吗试图让其他人为你编写代码吗?@Nicholas King不,先生,这不是一个简单的问题,这是一个不同的问题,因为这是我面临的一个不同的问题,我会按照你的建议解释我预期会发生什么
if(isset($_POST['add']))
{
if(isset($_POST['gov']) || isset( $_POST['dist']) || isset($_POST['city']) || isset( $_POST['lat']) || isset($_POST['long']) == "" )
{
$errorMSG = "you must fill one of these fields befor you submit!!";
}
if($_POST['gov'])
{
$gov = $_POST['gov'];
$sql = mysql_query("INSERT INTO governorate (governorate_id, governorate_name)VALUES('', '$gov')")or die(mysql_error());
echo $gov;
}
//******for adding district*********************//
if($_POST['dist'])
{
$dist = $_POST['dist'];
$gov = $_POST['gov'];
if($_POST['gov'] !=="")
{
$sql = mysql_query("INSERT INTO districts (district_id, district_name, governorate_id)VALUES('', '$dist', '$gov')")or die(mysql_error());
echo $dist;
}
else{ $errorMSG = "You can not add District Without relate a Governorate for this district";}
}
//********************for adding city****************************//
if($_POST['city'])
{
$city = $_POST['city'];
$lat = $_POST['lat'];
$long = $_POST['long'];
if(!$dist)
{
$errorMSG = "you can not add city without having relation with district";
}
if($lat =="" || $long ==""){ $errorMSG = "You can not add village Without its coordination";}
else
{
$sql = mysql_query("INSERT INTO village (id, village_name, district_id, lattitude, longitude)VALUES('', '$city', '$dist' ,'$lat', '$long')")or die(mysql_error());
echo $city;
}
}
}