에 내가 mysqli 준비된 문장에 원하는 결과를 얻기에 문제를 데 사용. 나는 like와 where를 모두 사용하고 있습니다. 날짜를 검색하는 동안 고려해야하는 경우같은과 = 같은 mysqli 준비된 문장
// 내 검색 변수
$a = "%{$_REQUEST['a']}%";
$b = "%{$_REQUEST['b']}%";
$search_from_date = $_REQUEST['from_date'];
$search_to_date = $_REQUEST['to_date'];
// 내 쿼리는
$q = $mysqli->prepare("SELECT t1.* from table1 t1 where (t1.a like ? and t1.b like ?) and (date(last_updated) between ? and ?) limit ".$start.','.$per_page);
$q->bind_param('ssss',$a,$b,$search_from_date,$search_to_date);
나는 결과를 얻을 단지 수 없습니다입니다. 다른 필드에서 성명 검색에서 날짜를 삭제하면 훌륭한 작품이 효과적입니다.
아무런 입력하는 검색 조건이없는 경우 나는 문에서 검색 조건 자체를 제거 할 수있는 방법을 말해. 나는 to_date가 지정되지 않은 경우 쿼리가 해당 열을 1로 대체해야 함을 의미합니다.
이렇게하면 검색 조건이 지정되지 않은 경우에도 기본 행 30 개가 생깁니다.
당신은 시작과 페이지 변수 당뿐만 아니라 –
감사 자리를 사용해야합니다. 해당 검색 조건에 대한 입력이없는 경우 검색 조건 자체를 명령문에서 제거 할 수있는 방법을 알려주십시오. 나는 to_date가 지정되지 않은 경우 쿼리가 해당 열을 1로 대체해야 함을 의미합니다. –
쿼리에 사용할 문자열을 가질 수 있으며 PHP (또는 동급)에서 IF 문을 사용하여 선택적으로 WHERE 절에 AND 조건을 추가 할 수 있습니다. 그런 다음 문자열이 완성되면이를 사용할 수 있습니다. – Chrisky