2012-01-14 4 views
0

나는 이것이 아마도 쿼리를 수행하는 절대적으로 끔찍한 방법이며, 물론 작동하지 않는다는 것을 알고있다. 요점은 날짜 범위와 키워드를 기반으로 사용자를 선택하는 것입니다.많은 조건을 가진 mysql 쿼리

$query = mysql_query("SELECT * FROM my_users WHERE my_regdate BETWEEN '$ftimestamp' AND '$ttimestamp' AND my_username LIKE '%$trimmed%' OR my_realname LIKE '%$trimmed%' OR my_email LIKE '%$trimmed%' ORDER BY my_id"); 
+2

귀하의 궁금한 점은 무엇입니까? :) –

답변

1

당신은 오류를 인쇄하는 쿼리에

$query = mysql_query("SELECT * FROM my_users WHERE my_regdate BETWEEN '$ftimestamp' AND '$ttimestamp' AND (my_username LIKE '%$trimmed%' OR my_realname LIKE '%$trimmed%' OR my_email LIKE '%$trimmed%') ORDER BY my_id"); 
+2

@Gary SQL 삽입에 따라 문자열 보간 ($ ftimestamp, $ ttimestamp)을 사용하지 않으므로 자리 표시자를 사용할 수 있도록 PDO를 사용하는 것이 좋습니다. 이 모든 정보는 PHP 매뉴얼에서 찾을 수 있습니다. –

0

사용 mysql_error를을() 괄호가 누락되었습니다.

$query ="SELECT * FROM my_users WHERE my_regdate BETWEEN '$ftimestamp' AND '$ttimestamp' AND my_username LIKE '%$trimmed%' OR my_realname LIKE '%$trimmed%' OR my_email LIKE '%$trimmed%' ORDER BY my_id"; 
$res= mysql_query($query) or die(mysql_error()); 
관련 문제