如何使用PDO查看数据库(PHP)中插入的内容?

如何使用PDO查看数据库(PHP)中插入的内容?,php,pdo,Php,Pdo,使用PDO,我希望获得为SQL插入语句输入的列和数据。我有办法做到这一点吗?我知道fetchAll()可以用于查询SELECT之类的语句 $db = new PDO("sqlite:app.db"); $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); $insertion = $db->prepare("INSERT INTO users(name, password_hash) values(:na

使用PDO,我希望获得为SQL插入语句输入的列和数据。我有办法做到这一点吗?我知道fetchAll()可以用于查询SELECT之类的语句

 $db = new PDO("sqlite:app.db");
 $db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
 $insertion = $db->prepare("INSERT INTO users(name, password_hash) values(:name, :password_hash)");
 $insertion->execute(array("name" => $this->name, "password_hash" => $this->password_hash));
最后,我希望查看/返回输入数据库的行,而不查询名称+密码\u散列组合

谢谢

编辑/澄清:


我现在明白了,我可以轻松地检索最后一个ID,但我的问题是,是否有可能在不进行查询的情况下返回所有插入的数据。

您可以使用脚本中变量中仍然可用的数据,或者获取新插入的数据库列


对于后者,您可以使用从
插入
生成的主键执行
选择
。您可以通过

获得它,因为您刚刚插入了数据,所以根据定义,您已经在PHP中拥有了数据。您无法从insert检索数据-您必须执行select操作。为此,除非您有一些奇怪的字段类型不匹配或彻底的查询失败,否则您将只返回您已有的可用字段。我想,
$insertion
上可能有一些函数将返回
execute
函数的“结果”。实际上,我正在尝试获取插入的ID(主键)。我曾考虑过使用
lastInsertId()
,但我不知道如果多个用户同时插入数据,是否会出现问题。否,lastInsertId只返回您插入的记录的ID。如果它提供了其他用户插入的id,那么它将毫无用处。否则,就不可能可靠地插入相关记录(例如父/子记录)。好的,我明白了,我想它可能会检查数据库中最后插入的记录。谢谢。不,这不是
select max(id)
。同样,这也没用,返回任何人插入的最后一个id。mysql将在内部生成id,并将其保存到特定于连接的变量中。这就是最后一个_insert_id()所做的一切-根据每个连接变量查询,所以您只获取您的id,而不获取其他任何人的id。