>데이터 베이스 >MySQL 튜토리얼 >MySQLi에서 LIKE를 사용하여 여러 검색 결과를 올바르게 가져오는 방법은 무엇입니까?

MySQLi에서 LIKE를 사용하여 여러 검색 결과를 올바르게 가져오는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-20 06:17:131029검색

How to Properly Fetch Multiple Search Results Using LIKE in MySQLi?

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>

기존 fetchbind_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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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