집 >데이터 베이스 >MySQL 튜토리얼 >MySQLi에서 LIKE를 사용하여 여러 검색 결과를 올바르게 가져오는 방법은 무엇입니까?
MySQLi의 LIKE 문을 사용하여 여러 검색 결과를 효율적으로 얻으세요
이 기사에서는 MySQLi를 사용하여 LIKE 쿼리에서 여러 결과를 얻는 방법을 살펴봅니다.
질문에 제공된 원래 코드는 단일 행의 결과를 얻으려고 시도하지만 여러 행이 반환될 수 있는 시나리오에는 적합하지 않습니다. 모든 결과를 올바르게 얻으려면 다음을 사용할 수 있습니다.
<code class="language-php">$param = "%{$_POST['user']}%"; $stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?"); $stmt->bind_param("s", $param); $stmt->execute(); $result = $stmt->get_result(); $data = $result->fetch_all(MYSQLI_ASSOC);</code>
또는 PHP 8.2부터 다음과 같은 보다 간결한 코드를 사용할 수 있습니다.
<code class="language-php">$sql = "SELECT id, username FROM users WHERE username LIKE ?"; $result = $db->execute_query($sql, ["%{$_POST['user']}%"]); $data = $result->fetch_all(MYSQLI_ASSOC);</code>
기존 fetch
및 bind_result
구문을 선호하는 경우 다음 코드를 사용할 수 있습니다.
<code class="language-php">$param = "%{$_POST['user']}%"; $stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?"); $stmt->bind_param("s", $param); $stmt->execute(); $stmt->bind_result($id, $username); while ($stmt->fetch()) { echo "Id: {$id}, Username: {$username}"; }</code>
이 업데이트된 코드 조각을 사용하면 일치하는 모든 행을 데이터베이스에서 검색하여 필요에 따라 데이터에 액세스할 수 있습니다.
위 내용은 MySQLi에서 LIKE를 사용하여 여러 검색 결과를 올바르게 가져오는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!