У меня есть таблица UserLogin, в которой пользователи могут входить в систему с именем пользователя и паролем. У меня также есть таблица UserInfo, содержащая адрес, номера телефонов и информацию в 30 других столбцах.
Когда пользователь создается в таблице UserLogin, я хочу сопоставить его строку UserLogin со строкой в таблице UserInfo, чтобы я мог хранить данные пользователя в таблице UserInfo. Моя цель состоит в том, чтобы эти таблицы имели идентификаторы первичного ключа, которые совпадают, чтобы UserLoginID = '2493' и UserInfoID = '2493'. Таким образом, таблицы будут соответствовать строка за строкой, одна за другой, при этом информация профиля пользователя всегда будет соответствовать его учетной записи UserLogin.
Как лучше всего (лучшие практики) добиться этого?
Таблица входа в систему
- идентификатор пользователя (первичный ключ) (Auto_Increment)
- имя пользователя
- пароль
- адрес электронной почты
- useraccess
Таблица информации о пользователе
- UserInfoID (первичный ключ) (Auto_Increment)
- Имя
- Фамилия
- Адрес
- Номер телефона
Когда создается новый UserID, я хочу, чтобы UserInfoID также создавался и был привязан к UserID, чтобы при входе в систему и вводе данных своего профиля он вводился в таблицу UserInfo.
Спасибо Vintage Coders! Вот что у меня получилось, и оно работает безупречно:
$stmt = $db->prepare('INSERT INTO UserLogin (username,password,email)
VALUES (:username, :password, :email)');
$stmt->execute(array(
':username' => $username,
':password' => $hashedpassword,
':email' => $email ));
$id = $db->lastInsertId('adminID');
include('includes/database.php');
$FirstName=$_POST['FirstName'];
$LastName=$_POST['LastName'];
$mysqli->query("INSERT INTO UserInfo(UserInfoID, FirstName, LastName)
VALUES ('$id', '$FirstName', '$LastName')");