使用PHP的OCI8将查询中的所有列返回到PHP数组?

时间:2014-06-18 18:30:34

标签: php oracle10g oci8

所以我已经定义了连接,语句id并执行了查询,现在我想将查询结果返回到PHP中的数组中。

我正在尝试这个,但之后我似乎无法使用$rappels中的任何信息,将查询结果中的所有列都返回到$rappels的正确方法是什么数组,然后使用它们?

$rappels = array();
while($row = oci_fetch_assoc($stid)) 
{                       
    $rappels[] = $row['operation_id']['operation_type']['date']['aircraft_fullname'];
}
return $rappels;

1 个答案:

答案 0 :(得分:0)

要从查询中检索完整的结果集,请使用oci_fetch_all()函数:

oci_fetch_all($stid, $rappels);

这将使用由列构成的数组填充$rappels,如下所示:

Array
(
    [operation_id] => Array
        (
            [0] => 1
            [1] => 2
            ...
        )
    [operation_type] => Array
        (
            [0] => a
            [1] => b
            ...
        )
    ...
)

要检索由行构成的结果集,您将使用此代码(请查看函数文档以了解额外参数的含义):

oci_fetch_all($stid, $rappels, 0, -1, OCI_FETCHSTATEMENT_BY_ROW + OCI_FETCH_ASSOC);

$rappels看起来像这样:

Array
(
    [0] => Array
        (
            [operation_id] => 1
            [operation_type] => a
            ...
        )
    [1] => Array
        (
            [operation_id] => 2
            [operation_type] => b
            ...
        )
    ...
)