2013-05-27 1 views
0

SELECT 테이블의 일부 행을 원하지만이 행은 column = value과 같은 조건을 만족해야합니다. 여기 내 SELECT 문의 : 나는 FROM 문 후 WHERE 절을 추가하는 시도첫 번째 테이블에 WHERE 절이있는 LEFT OUTER JOIN

$query = "SELECT t1.title, t1.introtext, t2.jr_street, t2.jr_city, 
    t2.jr_state, t2.jr_postalcode, t2.jr_country, t3.created, t3.name, 
    t3.title, t3.comments, t4.ave 
FROM $table1 t1 
    LEFT OUTER JOIN $table2 t2 ON t1.id = t2.contentid 
    LEFT OUTER JOIN $table3 t3 ON t1.id = t3.pid 
    LEFT OUTER JOIN $table4 t4 ON t1.id = t4.reviewid 
"; 

하지만 나는 SQL 구문 오류를 얻고있다.

+0

당신이 추가하는 시도 했'WHERE' 절 마지막'JOIN' 후? –

+0

시도한 WHERE 절은 무엇입니까? – Frildoren

답변

1

문제를 추측 할 필요가있는 것 같습니다. 다음 번에 정확한 예를 들어 전체 예제를 제공해야합니다. 이런 식으로 해봤 니?

$value = (int) $_POST['value']; 
$query = "SELECT t1.title, t1.introtext, t2.jr_street, t2.jr_city, t2.jr_state, 
t2.jr_postalcode, t2.jr_country, t3.created, t3.name, t3.title, 
t3.comments, t4.ave FROM $table1 t1 
LEFT OUTER JOIN $table2 t2 ON t1.id = t2.contentid 
LEFT OUTER JOIN $table3 t3 ON t1.id = t3.pid 
LEFT OUTER JOIN $table4 t4 ON t1.id = t4.reviewid 
WHERE t2.column = ".$value." 
AND t1.catid=8"; 

방금 ​​table2에서 선택하고 싶습니다. 오른쪽 테이블과 열을 채워야합니다. 또한 imho 이후 더 쉽게 읽을 수 있도록 where 절에 범주 선택을 넣습니다.

$value (및 테이블)과 같은 모든 변수가 쿼리에서 사용하기 위해 저장되었는지 확인하십시오. 예를 들어 $value은 정수이고 테이블은 코드에 명시 적으로 설정되며 사용자 입력이 아닙니다. 현재 SQL-주사에 대한 자세한 내용을보실 수 있습니다 :