JSON_ENCODE用于php中同名的两列


JSON_ENCODE for two columns with same name in php

我的问题是我想JSON_ENCODE内部连接查询的结果和我想选择的两列具有相同的名称所以,JSON对象覆盖其中一个,只携带一列的数据,因为它们具有相同的名称,这是我的代码到现在。

 $query = "select faculty.NAME,sector.NAME from faculty inner join sector
        on faculty.SECTOR_ID=sector.ID";
$result = mysql_query($query);
while($r = mysql_fetch_assoc($result)) {
$rows[] = $r;
 }
 echo json_encode($rows);
如何在不改变数据库中的列名的情况下做到这一点

尝试更改查询的输出:

select faculty.NAME AS facultyName,sector.NAME AS sectorName from faculty inner join sector
    on faculty.SECTOR_ID=sector.ID

使用as:

select faculty.NAME as faculty_name, sector.NAME as sector_name from faculty inner join sector
    on faculty.SECTOR_ID=sector.ID

这将改变你的json值:

{"faculty_name": "first", "sector_name": "second"}

所以你需要更新你的javascript

您可以在您的查询中使用ALIAS,这样您将为您的列有不同的名称

select faculty.NAME as faculty_name ,sector.NAME as sector_name