> 데이터 베이스 > MySQL 튜토리얼 > `bind_result()` 대 `get_result()`: 어떤 PHP MySQL 결과 바인딩 전략을 선택해야 합니까?

`bind_result()` 대 `get_result()`: 어떤 PHP MySQL 결과 바인딩 전략을 선택해야 합니까?

Mary-Kate Olsen
풀어 주다: 2025-01-01 09:18:10
원래의
857명이 탐색했습니다.

`bind_result()` vs. `get_result()`: Which PHP MySQL Result Binding Strategy Should You Choose?

Bind_result와 Get_result: 결과 바인딩 전략 비교

PHP에는 MySQL 데이터베이스에서 쿼리 결과를 검색하는 두 가지 방법이 있습니다. . 이러한 방법 간의 차이점을 이해하면 코드 성능과 결과 처리를 최적화할 수 있습니다.

Bind_result()

bind_result()는 쿼리에 바인딩할 열을 명시적으로 나열하여 각각에 대한 개별 변수를 생성합니다. 컬럼.

사용예 bind_result():

<?php
$query = 'SELECT id, first_name, last_name FROM `table` WHERE id = ?';
$id = 5;

$stmt = $mysqli->prepare($query);
$stmt->bind_param('i',$id);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($id, $first_name, $last_name);

while ($stmt->fetch()) {
    //...
}
?>
로그인 후 복사

장점:

  • 이전 PHP 버전과 호환
  • 각각에 대해 별도의 변수를 반환합니다. 열

단점:

  • 모든 변수의 수동 나열 필요
  • 테이블 구조 변경 시 코드 업데이트 필요
  • 별도의 배열 필요 처리

Get_result()

get_result()는 검색된 행을 나타내는 연관 또는 열거형 배열이나 객체를 자동으로 반환합니다.

사용 예 get_result():

<?php
$query = 'SELECT * FROM `table` WHERE id = ?';
$id = 5;

$stmt = $mysqli->prepare($query);
$stmt->bind_param('i',$id);
$stmt->execute();
$result = $stmt->get_result();

while ($row = $result->fetch_assoc()) {
    //...
}
?>
로그인 후 복사

장점:

  • 연관 배열 또는 열거형 배열/객체 반환
  • 모두 가져오기 지원 결과 fetch_all()
  • 결과 처리 단순화

단점:

  • MySQL 네이티브 드라이버 필요(mysqlnd)

차이점과 제한사항

Feature bind_result() get_result()
Result Handling Separate variables Associative/enumerated array or object
MySQL Driver Older versions supported Requires mysqlnd
Code Maintenance Manual updates required Automatic result filling
Result Fetching Individual rows All rows at once

결론

bind_result()와 get_result() 모두 장점과 한계가 있습니다. 이전 PHP 버전의 경우 또는 별도의 변수를 선호하는 경우에는 bin_result()가 적합할 수 있습니다. 그러나 결과 처리의 단순성과 한 번에 여러 행을 가져오는 기능이 중요한 경우 get_result()를 선택하는 것이 좋습니다.

위 내용은 `bind_result()` 대 `get_result()`: 어떤 PHP MySQL 결과 바인딩 전략을 선택해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿