Match / Against 절을 Like 절로 변경하기 위해 선택 쿼리를 조정하는 데 도움이 필요합니다.

W 챔피언

현재 LIKESQL select 문에 절 을 통합 하고 관련 MATCH / AGAINST 절을 제거 하려고합니다 .

나는 다양한 변형을 시도해 보았고 아직 작동하는 것처럼 보이지 않았기 때문에 무언가를 놓치고 있다고 느낍니다.

전체 PHP 페이지는

<?php

    if(isset($_POST['searchQuery']))
    {
          require_once('config.inc.php');
          $search_query=$_POST['searchQuery'];

          $sql = 'SELECT * from tbl_fish where MATCH(fish_name,size_name,cat_name) AGAINST(:search_query)';

          $statement = $connection->prepare($sql);
          $statement->bindParam(':search_query', $search_query, PDO::PARAM_STR);
          $statement->execute();
          if($statement->rowCount())
          {
                $row_all = $statement->fetchall(PDO::FETCH_ASSOC);
                header('Content-type: application/json');
                echo json_encode($row_all);
          }  
          elseif(!$statement->rowCount())
          {
              echo "no rows";
          }
    }
?>

나는 이와 같은 진술을 시도했다

 $sql = 'SELECT * from tbl_fish WHERE (fish_name LIKE '%'searchQuery'%')';

그러나 나는 아직 작동하는 것을 생각해 내지 못했습니다. 이 결과는 안드로이드 응용 프로그램에서 쿼리되므로 해당 명령문을 변경하는 것보다 더 많은 것을 놓치고 있는지 궁금합니다. 나는 이것에 대한 튜토리얼을 따르고 있었고 쿼리에 대한 매개 변수를 변경하려고 할 때를 제외하고는 모두 작동합니다.

여러분의 의견을 듣고 싶습니다. 감사.

scaisEdge

적절한 like 절을 빌드하려면 concat을 사용할 수 있습니다.

$sql = "SELECT * from tbl_fish WHERE  fish_name LIKE concat ( '%', :searchQuery, '%')";

3 열과 일치하려면 OR을 사용해야합니다.

$sql = "SELECT * from tbl_fish 
   WHERE  fish_name LIKE concat ( '%', :searchQuery, '%')
     or size_name   LIKE concat ( '%', :searchQuery, '%')
     or cat_name    LIKE concat ( '%', :searchQuery, '%');";

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관