0

我的问题是我想对内部联接查询的结果进行 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);

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

4

3 回答 3

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。

于 2013-06-07T15:15:08.583 回答
1

尝试更改查询的输出:

select faculty.NAME AS facultyName,sector.NAME AS sectorName from faculty inner join sector
    on faculty.SECTOR_ID=sector.ID
于 2013-06-07T15:15:09.677 回答
0

您可以ALIAS在查询中使用,以便您的列具有不同的名称

select faculty.NAME as faculty_name ,sector.NAME as sector_name
于 2013-06-07T15:15:05.687 回答