2012-12-07 7 views
0

이것은 검색 엔진는 WHERE 여러 쿼리

나는이에서 중복 된 검색 결과를 수신하고 기반으로 ... 사용

다음
$construct ="SELECT * FROM Rating, Attraction WHERE $construct" ; 

나는 것을 통보했다 모든 결과와 행을 선택하고 따라서 반복해서 내가 가지고있는 다른 페이지에서이 쿼리를 사용하고 하단에 관련 WHERE를 추가했습니다.

$construct = "SELECT Attraction.*, Type.TypeName, Rating.RatingUrl "; 
$construct .= "FROM Attraction "; 
$construct .= "INNER JOIN Type ON Attraction.Type = Type.TypeID "; 
$construct .= "INNER JOIN Rating ON Attraction.AttractionID = Rating.AttractionID "; 
$construct .= "WHERE Attraction = '$construct' "; 

올바르게 구조화했는데 작동하지 않고 쿼리를 인식하고 있습니다.

$ 구조는 데이터베이스

+2

인쇄의 작업을하고, MySQL을 사용하는 당신을 RDBMS하는 우리에게 수 주 시겠어요? – MrCode

+0

'Attraction = '$ Construct''에서 Attraction은 데이터베이스 필드이거나 테이블 이름입니까? – Boomer

+0

attraction은 테이블 이름입니다. –

답변

2

당신이 $construct라고에 쿼리를 저장하는 VAR와 키워드와 일치에 대한 쿼리이고 당신은 그래서 당신은 실제로 4 첫 번째를 포함하는 마지막 줄 "WHERE Attraction = '$construct' "에 포함된다 마지막 줄 안의 줄. 원하는 결과를 얻지 못할 것이다.

아마도 쿼리 변수의 이름을 바꾸면 이름을 바꿔도됩니다. 당신이 중복 싶지 않는 경우

또한, 단지 DISTINCT

SELECT DISTINCT * FROM Rating, Attraction WHERE $construct 
1

을 사용 나는 때문에 U이 같은 변수 이름을 사용하는이

$construct .= "WHERE Attraction = '$construct' "; 

입니다 생각?

0

난 모르겠지만 유형 ID로 사용자 그룹, 그것은 오류를 볼 훨씬 쉽게 쿼리의 마지막 문자열 밖으로