我在PHP文件中有一个查询,使用'oci8'发送到Oracle DB。
问题是当我得到结果时,我在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"
}]
但它应该是(我通过在实际查询结果的基础上创建一个新表来实现):
[{
"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"
}]