ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

PHP和Oracle OCI查询

2019-11-18 03:29:32  阅读:408  来源: 互联网

标签:oracle oci8 oci php


我对这段代码有疑问

$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;

标签:oracle,oci8,oci,php
来源: https://codeday.me/bug/20191118/2025215.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有