在不使用foreach的情况下从查询中获取一个值


Get one value from query without using foreach

我需要对数据库表执行多个查询,基本上我的PHP脚本必须:

  1. 在表中插入一个新用户,存储他的id、姓名和电子邮件
  2. 使用新创建的用户的电子邮件获取该用户的id
  3. 将id与密钥和时间戳相关联

我是PDO的新手,我的问题是,如果不使用foreach,我无法找到一种智能的方法来获得id,所以基本上我的代码是:

$query = "INSERT INTO users(name, surname, email) VALUES('" . $name . "', '" . $surname . "', '" . $email . "')";
$this->dbconn->query($query);
$query = "SELECT id FROM users WHERE email='" . $email . "'";
$data = $this->dbconn->query($query);
$id = $data['id'];
$query = "INSERT INTO users(name, surname, email) VALUES('" . $name . "', '" . $surname . "', '" . $email . "')";
$this->dbconn->query($query);
$id = $this->dbconn->lastInsertId();