在PHP中,当使用PDO和pgSQL时,如何在原始INSERT sql查询中获得“RETURNING”子句的值
问题描述:
在PHP中,我使用PDO和pgSQL驱动程序。我想知道如何获得INSERT sql查询中给出的“RETURNING”子句的值。 我当前的代码看起来像这样,在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->的execute();
返回TRUE或FALSE。但是如果插入成功,我想获得“user_id”的值。你们可以给我一个关于如何去做的指针吗?谢谢。
答
$ret = $queryHandle->fetchColumn();
会返回一个值,而不是一个数组。
+0
这是正确的方法,如果你只想得到ID返回'返回ID ...' – Xeoncross 2011-10-15 17:18:23
我确实先尝试使用PDO :: lastInsertID。但它只是返回空白值。因此,环顾四周后发现上述方式更清洁。 – Chantz 2010-01-26 18:21:16