我的问题是我想要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中的列名的情况下执行此操作...
答案 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