将 Oracle 游标提取到 PHP 数组中?
Fetching an Oracle cursor into a PHP array?
我正在尝试将 Oracle 游标提取到变量中 $cursor1
:
$cur = oci_new_cursor($conn);
oci_bind_by_name($stmt, ":out_cursor", $cur,-1, SQLT_RSET);
oci_execute($cur);
$cursor1 = oci_fetch_assoc($cur);
不幸的是,这只是 returns 光标的第一行。
如果我使用 while 语句循环,我可以获得所有结果:
while($row = oci_fetch_assoc($cur))
{
print_r($row);
}
但是,我在整个系统中多次调用此过程,每次调用游标 returns 不同的数据集 - 如果可能,我需要能够将其全部放入通用数组中。
非常感谢
很抱歉回答我自己的问题,但 oci_fetch_all()
似乎可以解决问题:
oci_fetch_all($cur, $cursor1, null, null, OCI_FETCHSTATEMENT_BY_ROW);
我正在尝试将 Oracle 游标提取到变量中 $cursor1
:
$cur = oci_new_cursor($conn);
oci_bind_by_name($stmt, ":out_cursor", $cur,-1, SQLT_RSET);
oci_execute($cur);
$cursor1 = oci_fetch_assoc($cur);
不幸的是,这只是 returns 光标的第一行。
如果我使用 while 语句循环,我可以获得所有结果:
while($row = oci_fetch_assoc($cur))
{
print_r($row);
}
但是,我在整个系统中多次调用此过程,每次调用游标 returns 不同的数据集 - 如果可能,我需要能够将其全部放入通用数组中。
非常感谢
很抱歉回答我自己的问题,但 oci_fetch_all()
似乎可以解决问题:
oci_fetch_all($cur, $cursor1, null, null, OCI_FETCHSTATEMENT_BY_ROW);