2016-10-19 4 views
0

사용자 팀을 기반으로 검색 결과를 표시하려고합니다.이 쿼리가 작동하지 않는 이유는 무엇입니까

$query = "SELECT COUNT(*) as num FROM $tableName WHERE team = '".$team."' AND (customer_name LIKE '%".$srcquery."%' OR home_phone LIKE '%".$srcquery."%' OR alt_phone LIKE '%".$srcquery."%') ORDER BY id DESC"; 

: 내가 고객 이름으로 검색하지만 난 home_phone에 의해 검색 할 때 다음 당신의 도움이

+0

ands와 ors를 괄호로 감싸는 것이 부족합니까? – Drew

+0

SQL 주입을 막기 위해 준비된 문구를 사용하십시오. (http://php.net/manual/de/pdo.prepared-statements.php) – ChrisB

+0

죄송합니다. home_phone –

답변

0

사용 브래킷 AND 후 감사도

$query = "SELECT COUNT(*) as num FROM $tableName WHERE team = '".$team."' AND customer_name LIKE '%".$srcquery."%' OR home_phone LIKE '%".$srcquery."%' OR alt_phone LIKE '%".$srcquery."%' ORDER BY id DESC"; 
    $total_pages = mysql_fetch_array(mysql_query($query)); 
    $total_pages = $total_pages[num]; 

    // Get page data 
    $query1 = "SELECT * FROM $tableName WHERE team = '".$team."' AND customer_name LIKE '%".$srcquery."%' OR home_phone LIKE '%".$srcquery."%' OR alt_phone LIKE '%".$srcquery."%' ORDER BY id DESC"; 
    $result = mysql_query($query1); 

다른 팀의 레코드를 표시하는 경우에만 확인 작동 참고 : 모든 OR 문은 대괄호 안에 있어야합니다.

+0

감사합니다. 그것 –

+0

예 대기 시간은 5mins 더 그것을 할 것입니다 :) –

관련 문제