得到最后的ID返回Oracle PDO_OCI php


Get Last ID with RETURNING Oracle PDO_OCI php

我可以使用返回子句PDO_OCI吗?我被建议使用这个来获取一个字段的最后一个id,这个字段正在被一个触发器更新。

我找到了一个教程,它使用oci_bind_by_name获得ID,但这似乎是oci8驱动程序的函数。PDO_OCI中是否有类似于oci_bind_by_name的东西?

$query = "INSERT INTO employees (name) VALUES ('Jones') RETURNING employee_no INTO     :employee_no";
stmt = oci_parse($dbh, $query);
oci_bind_by_name($stmt, ":employee_no", $employee_no, 8);
http://from8to5.blogspot.com/2011/03/oracle-php-returning-clause-statement.html

对于OUT参数,如果数据不是字符串(CHAR, VARCHAR2等),则应指定类型,即

// assuming employee_no is an integer
oci_bind_by_name($stmt, 'employee_no', $employee_no, 8, SQLT_INT);
oci_execute($stmt);

对于PDO,使用PDOStatement::bindParam()

$stmt = $pdo->prepare($query);
$stmt->bindParam('employee_no', $employee_no, PDO::PARAM_INT, 8);
$stmt->execute();