2010-12-18 5 views
0

문제점이 있습니다. 이것이 중괄호에 적합한 위치입니까?쿼리 중괄호 위치

WHERE (Q.qus_title LIKE '%".$search_Q."%' OR Q.qus_description LIKE '%".$search_Q."%') 
     AND A.qus_id is null 
ORDER BY 
+2

효과가 있습니까? 너는 무엇을 찾으려고하니? 무슨 일이 일어나고 있는지, 일어나지 않았는지에 대한보다 포괄적 인 설명을 제공하십시오. – Veign

+0

작동하지 않습니다. 비어있는 것으로 표시됩니다. 오류가 없으므로 혼란 스럽습니다. 구문이나 논리 오류가있을 수 있습니다 생각했다. –

+0

정적 데이터와 동적 데이터의 문자열 연결을 통해 SQL을 작성하지 마십시오. 준비된 명령문과 바인드 된 매개 변수를 사용하십시오 (DB 라이브러리가 지원하는 경우 - 대부분이 수행합니다). –

답변

0

절 표현식 코드 또는 수학

그래서

(COND1 및 Cond2) 또는 Cond3

와 완전히 같은 방법으로 평가되는 경우

필요한 것인가에 교정기 중 하나 모두 1 2가 참일 때 또는 3이 맞을 때

귀하의 WHERE 절은 A.qus_idQ.qus_title 또는 Q.qus_description의 검색 텍스트가 포함 된 항목을 말합니다. 검색 변수가 올바르게 이스케이프 처리되어 아포스트로피 등의 SQL 삽입을 포함 할 수 없기를 바랍니다.

왜 작동하지 않는지 알아 보려면 NO where 절을 사용하여 쿼리를 실행하고 결과를 확인한 다음 너무 많은 결과를 제거 할 때까지 용어를 계속 추가하십시오.

+0

감사 . 계속 노력할 것입니다. –

+0

그건 그렇고. 여기에 이스케이프 문자열을 위해 사용하고있는 함수가 있습니다 ... 충분합니까 ?? ---- 함수 필터 ($ 데이터) { \t $ 데이터 = trim (htmlentities (strip_tags ($ data)))); (get_magic_quotes_gpc()) \t \t \t \t $ data = mysql_real_escape_string ($ data); \t \t return $ data; } –

+0

@Frank - 2-3 년간 PHP를 사용하지 않았기 때문에 약간의 지식이있을 수 있지만 꽤 포괄적 인 것으로 보입니다. – Basic