【发布时间】:2014-10-05 18:43:19
【问题描述】:
我在 Oracle 11g 中使用 PHP5 和 OCI 8。
当我使用oci_fetch_all 获取一行时,即使对于NUMBER 列,即使我在查询中使用Oracle 的TO_NUMBER,整个结果也会转换为STRING。
我想要做的很简单:javascript 通过 Ajax 请求调用 PHP 脚本。该脚本只是获取一些NUMBER 数据并将它们编码为JSON。我希望将数据编码为整数,因此 javascript 可以对其进行数学运算(加法、除法等),而无需进行任何转换。
我很确定问题来自 OCI 而不是 JSON 编码,因为当我 VAR_DUMP oci_fetch_all 的结果时,我可以清楚地看到每个结果的双引号:
{
"COLUMN1":"12",
"COLUMN2":"52"
}
我希望结果如下所示:
{
"COLUMN1":12,
"COLUMN2":52
}
我尝试过:
- 更改
oci_fetch_all的标志(OCI_FETCHSTATEMENT_BY_ROW,OCI_FETCHSTATEMENT_BY_COLUMN...) - 使用
oci_fetch_array而不是oci_fetch_all - 删除连接到 oracle 的 UTF8 编码(我知道,它很愚蠢)
奇怪的是,我在互联网上找不到任何关于这个问题的信息……好像没有人遇到过同样的问题。也许我做错了什么......
提前致谢
【问题讨论】:
标签: php ajax numbers type-conversion oracle-call-interface