사용자 정의 변수를 사용하여 준비된 명령문에서 반복되는 매개변수 문제 해결
데이터베이스 검색 엔진을 구축하려면 수많은 사용자 입력 매개변수가 필요한 경우가 많습니다. 그러나 준비된 문 내에서 동일한 명명된 매개변수 표시자를 직접 재사용하는 것은 일반적으로 지원되지 않습니다.
뛰어난 대안은 MySQL 사용자 정의 변수를 활용하는 것입니다. 이 방법을 사용하면 코드 명확성과 가독성이 향상됩니다.
이 솔루션을 구현하는 방법은 다음과 같습니다.
<code class="language-sql">$sql = "SET @term = :term"; try { $stmt = $dbh->prepare($sql); $stmt->bindValue(":term", "%$term%", PDO::PARAM_STR); $stmt->execute(); } catch (PDOException $e) { // Error handling }</code>
<code class="language-sql">$sql = "SELECT ... FROM table WHERE name LIKE @term OR number LIKE @term"; try { $stmt = $dbh->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(); //More descriptive variable name } catch (PDOException $e) { // Error handling }</code>
이 기술을 사용하면 단일 매개변수 표시자를 여러 번 재사용할 수 있으므로 명명된 매개변수를 직접 반복하는 제한을 피할 수 있습니다. 변수를 설정하기 위해 추가 MySQL 쿼리가 도입되지만 결과 코드의 향상된 가독성과 단순성은 이러한 사소한 오버헤드를 정당화하는 경우가 많습니다.
위 내용은 MySQL 사용자 정의 변수는 준비된 명령문에서 반복되는 매개변수 문제를 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!