찾다

 >  Q&A  >  본문

PHP를 이용한 다중 컬럼 쿼리에 대한 연구 문제

<p>질문이 있습니다. PHP에서 POST 메서드를 사용하여 제공된 하위 문자열을 포함하는 모든 텍스트를 쿼리해야 합니다. 예를 들어, "a" 또는 "1"과 같은 숫자(정수가 아닌 문자)를 입력하는 경우 해당 문자나 부분 문자열을 포함하는 모든 항목을 찾아서 가능한 경우 테이블의 모든 열을 확인해야 합니까? 이런 식으로 시도했지만 코드가 약간 지저분합니다. </p> <pre class="brush:php;toolbar:false;"><?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $usersearch = $_POST["usersearch"]; 노력하다 { require_once "includes/dbh.inc.php"; $query = "SELECT * FROM tlattine WHERE에서 선택 팁 LIKE :usersearch OR 이름 LIKE :usersearch OR caratteristiche LIKE :usersearch OR 탭 스타일 LIKE :usersearch OR 탭컬러 LIKE :usersearch OR 탑스타일 LIKE :usersearch OR topcolor LIKE :usersearch OR 프로비니엔자 LIKE :usersearch OR 제품 LIKE :usersearch OR sku LIKE :사용자 검색 ORDER BY 팁로지아, 프로비니엔자, 연도, 치수;"; $stmt = $pdo->prepare($query); $stmt->bindParam(":usersearch", $usersearch); $stmt->execute(); $results = $stmt->fetchAll(PDO::FETCH_ASSOC); $pdo = 널; $stmt = null; } 잡기(PDOException $e) { die("쿼리 실패: " . $e->getMessage()); } } 또 다른{ header("위치: ../index.php"); } ?></pre> <p>이미 '%:usersearch%'를 사용하거나 %를 어떤 형식으로든 결합해 보았으나 뭔가 빠진 것 같습니다. 확실하지만 찾을 수 없습니다. :(</p>
P粉242126786P粉242126786493일 전459

모든 응답(1)나는 대답할 것이다

  • P粉793532469

    P粉7935324692023-07-27 09:13:59

    귀하의 검색어를 살펴보면 usersearch 매개변수를 여러 번 사용하신 것으로 나타났습니다.

    PHP 문서에 언급됨:

    나는 가장 모드 활성화를 피하고 대신 명명된 자리 표시자를 위치별 자리 표시자로 변경하고(':usersearch' 대신 '?' 사용)


    를 사용하는 것을 선호합니다. 으아아아

    마지막으로, 열에 $usersearch 변수가 포함되도록 쿼리하는 경우 문자열의 시작과 끝에 %를 추가해야 합니다.

    으아아아

    회신하다
    0
  • 취소회신하다