PHP和Oracle OCI查询

我对这段代码有疑问

$stmt = oci_parse($db, $sql);
$isQueryOk = oci_execute($stmt);
if ($isQueryOk) {
    while (($row = oci_fetch_assoc($stmt)) != false) {
        array_push($results, $row);
    }
    echo json_encode($results);
} else {
    $msg = "Error FETCHING ALL [$sql] on " . mb_strtoupper($dbTable) . "!";
}

问题是,如果oci_fetch_assoc($stmt)返回20000行,则while(($row = oci_fetch_assoc($stmt))!= false){
        array_push($results,$row);
    }
需要很多时间.有没有一种方法可以返回echo json_encode($results);没有WHILE周期.

提前致谢.

解决方法:

或者尝试使用另一种方式来推送您的阵列. “注意:如果使用array_push()将一个元素添加到数组中,则最好使用$array [] =,因为这样可以节省调用函数的开销.” http://php.net/manual/en/function.array-push.php

$results[] = $row;
上一篇:Navicat安装及使用


下一篇:如何设置OCI以从PHP连接到Oracle?