在PHP中,当使用PDO和pgSQL时如何在原始的INSERT sql查询中获取“RETURNING”子句的值

时间:2010-01-26 18:12:53

标签: php insert pdo postgresql

在PHP中,我正在使用PDO和pgSQL驱动程序。我想知道如何获取INSERT sql查询中给出的“RETURNING”子句的值。 我目前的代码看起来像这样,

$query = 'INSERT INTO "TEST" (firstname, lastname) VALUES ('John', 'Doe') RETURNING user_id';
$queryHandle = $connection->prepare($query);
$queryHandle->execute();

显然

  

$ queryHandle->执行();

返回TRUE或FALSE。但是如果插入成功,我想获得“user_id”的值。你们能给我一个关于如何去做的指针吗?感谢。

2 个答案:

答案 0 :(得分:11)

$ret = $queryHandle->fetchColumn();

将返回单个值而不是数组。

答案 1 :(得分:9)

您是否尝试将该命令视为选择返回,正在运行

$ret=$queryHandle->fetchAll();