2012-06-24 4 views
0

다음은 초기 쿼리와 몇 가지 추가 기준이 포함 된 mySQL 쿼리입니다.mySQL에 포함 된 PHP 변수 equasion

mysql_query("SELECT * FROM electors WHERE telephone > 0 AND last_known_voting_intention = 'P' OR last_known_voting_intention = 'A'"); 

다른 조건을 추가하여 PHP 변수에 포함하고자합니다.

$criteria = "AND last_known_voting_intention = 'P' OR last_known_voting_intention = 'A'"; 

어떻게하면이를 mySQL 쿼리에 포함시킬 수 있습니까?

mysql_query("SELECT * FROM electors WHERE telephone > 0 $criteria"); 

mysql_query("SELECT * FROM electors WHERE telephone > 0 ".$criteria); 

이 두 가지가 작동하지 않는 것 같습니다.

+0

내가 원래 쿼리를 가정 ($ 기준을 분리하지 않고) :

은 당신이 할 수있는 것은 이것이다? – raina77ow

+1

첫 번째 쿼리가 작동합니까? 당신은 알고 있고, OR보다 더 높은 우선 순위를 가졌지, 그렇지? –

+0

물론.) 어쨋든 나는이 '오랜'모든 것들이 단순한 'IN'조건으로 대체 된이 쿼리를 여전히보고 있었다. 답변으로 의견을 제출하시는 것이 좋습니다.) – raina77ow

답변

2

원본 쿼리는 작동해야하는 것처럼 보이지만 PHP의 신비 중 하나 인 경우 놀랄 일이 아닙니다. 모든 권리 일

$sql = "SELECT * FROM electors WHERE telephone > 0"; 
$criteria = " AND last_known_voting_intention = 'P' OR last_known_voting_intention = 'A'"; 

if (!empty($criteria)) 
{ 
    $sql .= $criteria; // Append it to SQL query 
} 

mysql_query($sql); 
+1

$ 조건을'IN'을 사용하여 다시 작성합니다. – raina77ow

+0

좋은 일을 잘 처리했습니다. –

관련 문제