複数のテーブルにデータを送信するフォームを作成しました。私のフィールドは、名、姓、電子メール、都市/地域/国であり、それらはすべて 3 つの異なるテーブル (ユーザー、電子メール、場所) に挿入されます。
データはユーザーと電子メールに問題なく入りますが、場所をどうするかについて混乱しています。
場所 (都市、地域、国) 用に 3 つの個別のテーブルがあります。ここでやりたいことは、CityID、RegionID、および CountryID を Location テーブルに挿入することです。City/Region/Country フィールドを設定して、次のように都市に基づいてオートコンプリートします。
My Cities テーブルには、必要な情報 (CityID、RegionID、CountryID) がすべて含まれています。そのデータを Cities テーブルから取得して、Location テーブルに挿入するにはどうすればよいですか?
これが私のコードの一部です。私はPHPとMySQLに非常に慣れていないので、これがずさんで申し訳ありません。コードの最初の部分は機能しますが、2 番目の部分は機能しません (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..." が必要かもしれませんが、自分の条件がどうなるかわかりません。