2011-03-23 2 views
1

php/mysql에서 여러 테이블을 조인하는 쿼리를 실행 중이고 내 페이지에 결과를 표시하려고합니다. 내가 $row_result['table_name.field_name']을 울리는 시도PHP가 join 쿼리를 실행했을 때 나타나는 결과

echo $row_result['name']; // this would be i.e. the name of the product but I also have another table 'descriptions' in which I also have a field 'name' 

하지만이 작동하지 않습니다 : 내 문제는 모든 테이블이 나는 등의 내용을 표시하려고하면 abgitious 이름 문제로 이어지는, 같은 필드 이름을 가지고있다. prodDescription 등으로 select description.name을 사용하는 것 외에는 다른 방법이 있습니까? 당신은 위의 의미를 만들 수 있기를 바랍니다, 나는 그것을 서둘러 썼다!

+0

당신은 항상 시도 할 수있는 '값이 반환되고 있는지 확인하기 위해 반환 된 배열에 print_r'. 만약'name' 값이 1 개만 리턴된다면 Chris가 지적했듯이'AS' 키워드를 사용하거나 두 개의 별도 쿼리를 실행하는 경우 ('AS' 키워드는 훨씬 더 나은 선택). 'AS'키워드를 사용하지 않으려는 특별한 이유가 있습니까? 그것이 그 전체 지점의 종류이기 때문에 ... –

답변

6

AS 키워드를 사용하십시오. 이처럼 :

SELECT A.column AS A_col, B.column AS B_col FROM A JOIN B ON A.key = B.key

은 그럼 그냥 A_col 및 B_col를 참조 할 것

+0

@chris bikey77는 이미 그가이 방법을 사용하기를 원하지 않는다고 말했습니다. – jimy

+0

나는 많은 양의 AS 문장을 써야하기 때문에 또 다른 방법이 있기를 바랬습니다. 내 웹 사이트의 여러 부분에서 동일한 작업을 수행해야합니다. – bikey77

+0

다른 모호하지 않은 유일한 방법은 숫자 위치 (즉,'$ row_result [0]')로 열에 액세스하는 것입니다. –

관련 문제