JSON_ENCODE用于php中具有相同名称的两列

时间:2013-06-07 15:13:42

标签: php mysql

我的问题是我想要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);

如何在不更改DataBase中的列名的情况下执行此操作...

3 个答案:

答案 0 :(得分:1)

使用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。

答案 1 :(得分:1)

尝试更改查询的输出:

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

答案 2 :(得分:0)

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

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