简短而甜蜜:
我有一个名为人员的表,用于存储用于不同目的的个人信息实例。例如,当用户输入新场地的细节时,他们还输入联系人的详细信息。会场详细信息存储在一个表中,个人详细信息在人员表中,并将人员ID添加到场地表中以链接到两个。
我的问题是这样的: 这是不好的做法吗?基本上我看到了(根据下面的示例代码),我正在执行插入查询到人员表,找到最大id(假设这是用户刚刚添加的信息的id),然后执行将查询插入到场地表中,其中包含查找的最大ID
如果您有多个人插入场地,我认为这可能会有潜在危险,那么您可能会返回并从人员表中链接错误的ID。
在保持个人细节的同时,最好的方法是什么?
$query = "insert into persons (perFirstName, perLastName, perAddr_Line1, perAddr_Suburb, perAddr_Postcode, perPhone_Landline, perPhone_Mobile, perEmail) VALUES ('$firstname','$lastname','$address_line1','$address_suburb','$address_postcode','$phone_landline','$phone_mobile','$emailaddress')";
mysql_query($query) or die();
if (!mysql_error()){
print "yes";
$perID = mysql_result(mysql_query("select max(callid) from persons"),0,0);
$query = "insert into volunteers (perID, volRoleID, volPoliceCheckCompleted) VALUES ('$perID','$role','$policecheck')";
}else{
print "no";
}
答案 0 :(得分:0)
参考:
答案 1 :(得分:0)
我相信您正在寻找LAST_INSERT_ID(),它会将最后插入的ID返回给人员表。请参阅文档here。