2

我在使用“oci8”发送到 Oracle DB 的 PHP 文件中有一个查询。

问题是当我返回结果时,我在 SQL 开发人员中执行查询时通常看到的大多数值都被PHP 中的0或值替换。null

我尝试使用oci_set_prefetch($parseQuery, 100000000);只是为了确定,但这并没有成功。

我什至在数据库中创建了一个视图并从中查询,但仍然是同样的问题。

有任何想法吗?

php代码

<?php
  include("db_connection.php");   

  $query = "SQL query...";    

  $parseQuery = oci_parse($connection, $query);

  oci_execute($parseQuery);
  oci_set_prefetch($parseQuery, 100000000);
  $sqlResultJson = array();    

  while ($row = oci_fetch_array($parseQuery, OCI_ASSOC+OCI_RETURN_NULLS)) {
    array_push($sqlResultJson, $row);
  }

  $json = json_encode($sqlResultJson);

  echo $json;    
?>

结果是

[{
    "NIMETUS": "Lepingu maht",
    "A2013": "145333",
    "JAANUAR": "16095",
    "VEEBRUAR": "16095",
    "MARTS": "16095",
    "APRILL": "16095",
    "MAI": "16095",
    "JUUNI": "16095",
    "JUULI": "16095",
    "AUGUST": "16095",
    "SEPTEMBER": "16095",
    "OKTOOBER": "16095",
    "DETSEMBER": "16095",
    "KOKKU_2014": "193138",
    "KOKKU": "338471"
  },
  {
    "NIMETUS": "Planeeritud",
    "A2013": "154531",
    "JAANUAR": null,
    "VEEBRUAR": null,
    "MARTS": null,
    "APRILL": null,
    "MAI": null,
    "JUUNI": null,
    "JUULI": null,
    "AUGUST": "14801",
    "SEPTEMBER": "17304",
    "OKTOOBER": null,
    "DETSEMBER": null,
    "KOKKU_2014": "199594",
    "KOKKU": "354125"
  },
  {
    "NIMETUS": "Tegelik",
    "A2013": "161533",
    "JAANUAR": "17505",
    "VEEBRUAR": "17294",
    "MARTS": "876",
    "APRILL": "0",
    "MAI": "0",
    "JUUNI": "0",
    "JUULI": "0",
    "AUGUST": "0",
    "SEPTEMBER": "0",
    "OKTOOBER": "0",
    "DETSEMBER": "0",
    "KOKKU_2014": "35675",
    "KOKKU": "197208"
  },
  {
    "NIMETUS": "Aeguvad kokku lepitud",
    "A2013": "0",
    "JAANUAR": null,
    "VEEBRUAR": null,
    "MARTS": null,
    "APRILL": null,
    "MAI": null,
    "JUUNI": null,
    "JUULI": "0",
    "AUGUST": "0",
    "SEPTEMBER": "0",
    "OKTOOBER": "0",
    "DETSEMBER": "0",
    "KOKKU_2014": "0",
    "KOKKU": "39765"
  },
  {
    "NIMETUS": "Aeguvad paigaldamata",
    "A2013": "0",
    "JAANUAR": null,
    "VEEBRUAR": null,
    "MARTS": null,
    "APRILL": null,
    "MAI": null,
    "JUUNI": null,
    "JUULI": "0",
    "AUGUST": "0",
    "SEPTEMBER": "0",
    "OKTOOBER": "0",
    "DETSEMBER": "0",
    "KOKKU_2014": "0",
    "KOKKU": "14360"
  },
  {
    "NIMETUS": "Aeguvad jooksvalt planeerimata",
    "A2013": "0",
    "JAANUAR": null,
    "VEEBRUAR": null,
    "MARTS": null,
    "APRILL": null,
    "MAI": null,
    "JUUNI": null,
    "JUULI": "0",
    "AUGUST": "0",
    "SEPTEMBER": "0",
    "OKTOOBER": "0",
    "DETSEMBER": "0",
    "KOKKU_2014": "0",
    "KOKKU": "8811"
  }]

但它应该是(我通过在base中创建一个带有实际查询结果的新表来得到它)

 [{
    "NIMETUS": "Lepingu maht",
    "A2013": "145333",
    "JAANUAR": "16095",
    "VEEBRUAR": "16095",
    "MARTS": "16095",
    "APRILL": "16095",
    "MAI": "16095",
    "JUUNI": "16095",
    "JUULI": "16095",
    "AUGUST": "16095",
    "SEPTEMBER": "16095",
    "OKTOOBER": "16095",
    "DETSEMBER": "16095",
    "KOKKU_2014": "193138",
    "KOKKU": "338471"
  },
  {
    "NIMETUS": "Planeeritud",
    "A2013": "154531",
    "JAANUAR": "23399",
    "VEEBRUAR": "17194",
    "MARTS": "15539",
    "APRILL": "17013",
    "MAI": "17276",
    "JUUNI": "15941",
    "JUULI": "13638",
    "AUGUST": "14801",
    "SEPTEMBER": "17304",
    "OKTOOBER": "17337",
    "DETSEMBER": "13226",
    "KOKKU_2014": "199594",
    "KOKKU": "354125"
  },
  {
    "NIMETUS": "Tegelik",
    "A2013": "161533",
    "JAANUAR": "17505",
    "VEEBRUAR": "17294",
    "MARTS": "876",
    "APRILL": "0",
    "MAI": "0",
    "JUUNI": "0",
    "JUULI": "0",
    "AUGUST": "0",
    "SEPTEMBER": "0",
    "OKTOOBER": "0",
    "DETSEMBER": "0",
    "KOKKU_2014": "35675",
    "KOKKU": "197208"
  },
  {
    "NIMETUS": "Aeguvad kokku lepitud",
    "A2013": "0",
    "JAANUAR": "10431",
    "VEEBRUAR": "9584",
    "MARTS": "9817",
    "APRILL": "2655",
    "MAI": "2594",
    "JUUNI": "4684",
    "JUULI": "0",
    "AUGUST": "0",
    "SEPTEMBER": "0",
    "OKTOOBER": "0",
    "DETSEMBER": "0",
    "KOKKU_2014": "0",
    "KOKKU": "39765"
  },
  {
    "NIMETUS": "Aeguvad paigaldamata",
    "A2013": "0",
    "JAANUAR": "468",
    "VEEBRUAR": "889",
    "MARTS": "3886",
    "APRILL": "2264",
    "MAI": "2477",
    "JUUNI": "4376",
    "JUULI": "0",
    "AUGUST": "0",
    "SEPTEMBER": "0",
    "OKTOOBER": "0",
    "DETSEMBER": "0",
    "KOKKU_2014": "0",
    "KOKKU": "14360"
  },
  {
    "NIMETUS": "Aeguvad jooksvalt planeerimata",
    "A2013": "0",
    "JAANUAR": "0",
    "VEEBRUAR": "5",
    "MARTS": "1032",
    "APRILL": "1159",
    "MAI": "2386",
    "JUUNI": "4229",
    "JUULI": "0",
    "AUGUST": "0",
    "SEPTEMBER": "0",
    "OKTOOBER": "0",
    "DETSEMBER": "0",
    "KOKKU_2014": "0",
    "KOKKU": "8811"
  }]
4

0 回答 0