사용자 정의 변수를 활용하여 매개변수를 여러 번 바인딩
데이터베이스에 대한 검색 기능을 구현할 때 일반적으로 준비된 문을 활용하고 검색어 매개변수를 바인딩합니다. 그러나 MySQL은 준비된 단일 문에서 명명된 매개 변수의 반복 사용을 제한합니다.
대체 솔루션
여러 매개 변수(예:term1, : 용어 2), MySQL의 사용자 정의 변수 활용을 고려해보세요. 이를 통해 데이터베이스 자체 내의 임시 변수에 매개변수 값을 저장할 수 있습니다.
구현
이를 구현하려면:
SET @term = :term;
$stmt = $dbh->prepare($sql); $stmt->bindValue(":term", "%$term%", PDO::PARAM_STR); $stmt->execute();
SELECT ... FROM table WHERE name LIKE @term OR number LIKE @term;
장점
이 방법은 여러 가지 장점을 제공합니다.
주의사항
유일한 주의사항은 사용자 정의 변수를 설정하기 위해 추가 쿼리를 실행하는 오버헤드입니다. 그러나 이러한 사소한 단점보다 장점이 훨씬 더 큽니다.
위 내용은 사용자 정의 변수는 MySQL의 반복 매개변수 바인딩 제한을 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!