Php 在TBL_中插入未定义索引和父外键和子外键

Php 在TBL_中插入未定义索引和父外键和子外键,php,mysql,Php,Mysql,所以。。。这是我的代码: $paymentType=$\u POST[“paymentType”];//在前两行中,$\u POST数据被复制到普通变量中,以便于处理 $paymentMethod=$_POST[“paymentMethod”]; $amount=$_POST[“amount”]; $date=$_POST[“date”]; $other=$_POST[“其他”]; $mysqlserver=“localhost”;//在接下来的六行中,与前面一样设置与服务器的连接,并选择数据库

所以。。。这是我的代码:

$paymentType=$\u POST[“paymentType”];//在前两行中,$\u POST数据被复制到普通变量中,以便于处理
$paymentMethod=$_POST[“paymentMethod”];
$amount=$_POST[“amount”];
$date=$_POST[“date”];
$other=$_POST[“其他”];
$mysqlserver=“localhost”;//在接下来的六行中,与前面一样设置与服务器的连接,并选择数据库
$mysqlusername=“jakedean”;
$mysqlpassword=“jakedean”;
$link=mysql_connect($mysqlserver、$mysqlusername、$mysqlpassword)或die(“连接到mysql服务器时出错:”.mysql_Error());
$dbname='jakedean';
mysql_选择_db($dbname,$link)或die(“在mysql服务器上选择指定数据库时出错:”.mysql_Error());
//将设置并运行插入新数据(来自变量)的查询
$addPaymentquery=“插入TBL\U付款
(付款类型、付款方式、金额、日期、其他)
价值观
(“$paymentType”、“$paymentMethod”、“$amount”、“$date”、“$other”);
mysql_query($addPaymentquery)或die(“将新付款插入TBL_付款的查询失败,错误为:”.mysql_error());
echo“

您向Person ID:$personId!添加的付款信息是:

付款类型:

$paymentType

付款方式:

$paymentMethod

支付金额:

$Amount

支付日期:

$Date

附加注释:

$other

该错误是未定义索引和无法更新子行的组合,因为我错误地关联了sql表

错误消息:

我不知道这是否有帮助,但在我的数据库中,不同表中的一些字段具有相同的名称


几天来我一直在试图解决这个问题,但我想不出来,这是我建立的第一个数据库!感谢您的回复

未定义索引是因为您试图从数组中获取不存在的属性。 存在DB错误(带外键的错误),因为您的
TBL_付款
必须与
TBL_人
相关-这意味着您必须将
TBL_付款
个人id
设置为当前用户的id(登录用户或该付款所属用户)。
UPD:

当然,不要使用不推荐的,正如有人在评论中提到的

您需要先声明外键引用的表,然后才能定义引用它的外键

声明第二个表后,就可以声明第一个表了。在MySQL 5.5.27上测试

如果需要绕过验证,可以执行以下操作:

设置外键检查=0; --声明表 设置外键检查=1;

可能重复的“请勿使用不推荐使用的函数”,请再说一遍@rray-事实上,PHP7你需要用勺子喂我,我还是个学生,只学了几个月的php和sql><谢谢!