У меня есть prolem с этим кодомPhp и оракул 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.
Заранее спасибо.
Использование oci_fetch_all: http://php.net/manual/en/function.oci-fetch-all.php –
я пробовал, но не может форматировать, как ключ => значение пары. Возвращает ex: {EMPRESA: [«CLCA», «CMIP», «CPP»], VAL: [«CLCA», «CMIP», «CPP»]}, и мне нужно [{EMPRESA: «CLCA», VAL: CLCA "}, {EMPRESA:" CMIP ", VAL:" CMIP "}, {EMPRESA:" CPP ", VAL:" CPP "}] –