我创建了一个将数据提交到多个表中的表单。我的字段是名字、姓氏、电子邮件、城市/地区/国家,它们都插入到 3 个不同的表(用户、电子邮件、位置)中。
数据进入用户和电子邮件就好了,但我对如何处理位置感到困惑。
我有 3 个单独的位置表(城市、地区、国家)。我要做的是将 CityID、RegionID 和 CountryID 插入 Location 表中。我设置了 City/Region/Country 字段,因此它会根据城市自动完成,如下所示:
我的 Cities 表包含所有必要的信息(CityID、RegionID、CountryID)。如何从 Cities 表中提取该数据并将其插入到我的 Location 表中?
这是我的代码的一部分。我对 PHP 和 MySQL 非常陌生,所以我为这个草率道歉。代码的第一部分有效,但第二部分无效(将数据插入 Location 表中)。
//Insert static values into people table
$sql_user = sprintf("INSERT INTO User (FirstName, LastName,) VALUES ('%s','%s')",
mysql_real_escape_string($_POST['FirstName']),
mysql_real_escape_string($_POST['LastName']),
$result_user = $db->query($sql_user);
//get last inserted userid
$inserted_user_id = $db->last_insert_id();
//Insert values into location table
$sql_city = sprintf("INSERT INTO Location (UserID, CityID, RegionID, CountryID)
VALUES ('$inserted_user_id',(SELECT CityID, RegionID, CountryID, FROM Cities))");
$result_city = $db->query($sql_city);
我想也许我需要在 FROM Cities 之后输入“WHERE ...”,但我不知道我的情况会怎样。