INSERT и SELECT в одном запросе PDO?

Доброго времени суток!

Пожалуйста, подскажите, как можно реализовать следующее:
Необходимо при регистрации записать пользователя в бд и на этой же странице авторизовать (в сессию).

Запросы c placeholder:

$date_registration = array('name' => $name, 'password' => $password);
$sth = $pdo->prepare("INSERT INTO users (name, password) VALUES (:name, SHA(:password))");
$sth->execute($date_registration);

$sth_auth = $pdo->prepare('SELECT id FROM users WHERE name = :name AND password = SHA(:password)');
$sth_auth->execute($date_registration);
foreach ($sth_auth as $row){
     $_SESSION['user_id'] = $row['id'];
}


Заранее спасибо!
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
lastInsertID
$date_registration = array('name' => $name, 'password' => $password);
$sth = $pdo->prepare("INSERT INTO users (name, password) VALUES (:name, SHA(:password))");
$sth->execute($date_registration);
// --
$_SESSION['user_id'] = $pdo->lastInsertId();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы