【问题标题】:Json return nulljson返回null
【发布时间】:2017-02-27 23:13:24
【问题描述】:

我在 Andorid 中做一个 json 来读取的下一个问题 (凭据是隐藏的,但在其他文件中连接正常)

class reportes
{
    var $parametro;
    var $conexion;

    function __construct(){
        $host = "IP"; $DBName = "DbName";
        $usuario="user"; $contrasena="pass";

        $driver = "DRIVER={iSeries Access ODBC Driver};
                   SYSTEM=$host;Uid=$usuario;
                   Pwd=$contrasena;Client_CSet=UTF-8;";
        $this->conexion = odbc_connect($driver, $usuario, $contrasena);
    }


    function consulta($parametro){

    $query=
    "SELECT OHSNME,OHTOT$,OHREPÑ
    FROM MYDB.SANFPRD.FOMHDR
    WHERE OHORDÑ= $parametro ";


    echo $query."<br><br>";

    if ($this->conexion == 0) {echo "Ha fallado la conexion a la BBDD </br>";}
        else{
            $datos = array();
            $result=odbc_exec($this->conexion,$query);
            while($row = odbc_fetch_object($result)){
                $datos[]= $row;
            }
            echo json_encode($datos);
    }

    }//Fin funcion consulta()

}//Fin de la clase

$consultar = new reportes();

$nota_venta = $_REQUEST['parametro'];
$consultar->consulta($nota_venta);

我得到的响应 JSON 是:

SELECT OHSNME,OHTOT$,OHREPÑ FROM DELLORTO.SANFPRD.FOMHDR WHERE OHORDÑ= 366 

[{"OHSNME":"E.C. GM. ","OHTOT$":"1861.00",null:" A07"}]

您可以看到 OHORDÑ 可能是 'Ñ' 的问题 但此表是生产数据库的一部分,我无法更新

【问题讨论】:

  • 在表上创建一个具有不同列名的视图。从视图中选择。您甚至可以在视图上设置权限,这样无论您连接什么都无法看到其他表,只有视图。

标签: php android json null return


【解决方案1】:

解决方案 #1,将列名别名为不带非 ascii 字符的名称:

$query=
"SELECT OHSNME,OHTOT$,OHREPÑ AS OHREPN
FROM MYDB.SANFPRD.FOMHDR
WHERE OHORDÑ= $parametro ";

方案#2,使用utf8_encode()手动序列化:

        $result=odbc_exec($this->conexion,$query);
        while($row = odbc_fetch_object($result)){
            $_row_fix = array();
            foreach ($row as $field => $val) {
              $_row_fix[utf8_encode($field)] = utf8_encode($val);
            }
            $datos[]= $_row_fix;
        }

【讨论】:

    猜你喜欢
    • 2017-07-20
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2015-01-21
    • 2015-11-27
    • 2017-03-12
    • 2016-04-09
    • 2014-10-10
    相关资源
    最近更新 更多