Json 编码不返回某些列的任何内容


Json encode return nothing for certain column

我的表中有 1700 行。问题是如果我尝试使用 des 列,我无法获得 json 输出,浏览器中没有显示任何输出。如果我尝试获取除 des 以外的其他列,则会显示输出。然后我尝试使用限制关键字,我限制为 1240,然后即使使用 des 列也给了我一个输出。但是我需要带有 des 列的所有记录。我已经把我的php脚本放在XAMPP服务器中。

这是我的php。

<?php
 require_once 'include/Configg_t.php';
 //header('Content-Type: application/json');
    $con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or die("connection failed");
    mysql_select_db(DB_DATABASE,$con) or die("db selection failed");

    $r=mysql_query("SELECT * from tbl_mas_material LIMIT 1240");
    $result = array();
        while($row=mysql_fetch_array($r)){
        array_push($result,
        array('des'=>$row[1]));}
        echo json_encode(array("feed" => $result));
       json_last_error();
    mysql_close($con); 

?>

表中的 DES 列出现问题。

这是我的表结构

CREATE TABLE `tbl_mas_material` (
  `material` varchar(18) NOT NULL,
  `des` varchar(45) DEFAULT NULL,
  `code` varchar(45) NOT NULL,
  `matgrp` varchar(9) DEFAULT NULL,
  `type` varchar(4) DEFAULT NULL,
  PRIMARY KEY (`material`,`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果我将 des 添加到我的查询中,则不会显示任何输出。

 array_push($result, array('des'=>$row[1]));}

你能检查一下,des 值是指$row[1]吗?

尝试将其更改为

 array_push($result, array('des' => $row['des']));