>백엔드 개발 >PHP 튜토리얼 >MySQL에서 준비된 명령문에 와일드카드를 사용하는 방법은 무엇입니까?

MySQL에서 준비된 명령문에 와일드카드를 사용하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-28 09:46:02960검색

 How to Use Wildcards with Prepared Statements in MySQL?

Prepared 문과 와일드카드를 사용하여 MySQL 쿼리 실행

Prepared 문을 사용하여 SQL 쿼리를 실행할 때 유연성을 높이기 위해 와일드카드를 효과적으로 활용하는 것이 중요합니다. 귀하의 쿼리 효율성. 준비된 문은 SQL 삽입을 방지하여 보안상의 이점을 제공하지만 와일드카드를 통합할 때 특정 조정이 필요할 수 있습니다.

특정 시나리오에서 쿼리 실행:

SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'

처음에 준비된 문이 실패한 경우, 코드가 매개변수를 와일드카드에 직접 바인딩하려고 시도했기 때문입니다. 그러나,binParam 대신에bindValue를 사용하면 와일드카드로 묶인 $name 변수를 바인딩하여 원하는 기능을 성공적으로 달성할 수 있습니다.

$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindValue(':name', '%' . $name . '%');
$stmt->execute();

또는 와일드카드를 앞에 추가하고 추가하는 것과 함께 binParam을 활용할 수도 있습니다. 아래와 같이 $name 변수:

$name = "%$name%";
$query = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` like :name");
$query->bindParam(':name', $name);
$query->execute();

위 내용은 MySQL에서 준비된 명령문에 와일드카드를 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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