【发布时间】:2020-03-23 12:01:41
【问题描述】:
Oracle 12c + PHP
如何从此查询中获取 id:
$execute = "INSERT INTO DODATEK SELECT NVL(MAX(dodatekid),0)+1,'$randomString' from DODATEK";
我尝试过的 oci_bind_by_name 和 RETURNING INTO
$c = oci_connect($username, $password, $database);
if (!$c) {
$m = oci_error();
trigger_error('Could not connect to database: '. $m['message'], E_USER_ERROR);
}
$executeforId = "INSERT INTO DODATEK SELECT NVL(MAX(dodatekid),0)+1,'$randomString' from DODATEK RETURNING dodatekid INTO :dodatekId";
$exForId = oci_parse($c,$executeforId);
oci_bind_by_name($stid, ':dodatekId', $dodatekIdForTxt);
echo $dodatekIdForTxt;
我得到了警告:oci_bind_by_name(): ORA-01036: 非法变量名/编号
【问题讨论】:
-
使用
$exForId而不是$stid -
警告消失但返回无效
标签: php oracle oracle-call-interface