>백엔드 개발 >PHP 튜토리얼 >PDO에서 매개변수와 함께 LIKE 연산자를 사용하는 방법은 무엇입니까?

PDO에서 매개변수와 함께 LIKE 연산자를 사용하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-27 09:26:11738검색

How to Use LIKE Operator with Parameters in PDO?

PDO에서 LIKE 쿼리 구현

PDO에서 LIKE 연산자를 사용할 때 매개 변수에 % 기호를 포함하는 것이 중요합니다. 쿼리 자체 내에서. 이는 PDO 준비된 문이 % 자리 표시자를 방해할 수 있는 값을 따옴표로 캡슐화하기 때문입니다.

예를 들어 다음 쿼리를 고려하세요.

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
$params = array($var1, $var2);

이 쿼리가 준비되면 % 기호는 따옴표로 캡슐화되어 다음과 같은 쿼리가 생성됩니다.

SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'

결과적으로 쿼리는 반환되지 않습니다. 큰따옴표가 LIKE 연산자의 의도된 기능을 방해하기 때문에 모든 결과가 발생합니다.

이 문제를 해결하려면 매개 변수에 % 기호를 대신 포함해야 합니다.

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");

이 수정을 사용하면 준비된 쿼리는 $var1 또는 $var2가 포함된 주소를 올바르게 검색합니다.

위 내용은 PDO에서 매개변수와 함께 LIKE 연산자를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.