집 >데이터 베이스 >MySQL 튜토리얼 >`bind_result` 대 `get_result`: 쿼리 결과를 검색하려면 어떤 MySQLi 방법을 사용해야 합니까?
bind_result와 get_result 중에서 선택
데이터베이스 쿼리를 위해 준비된 문으로 작업할 때 결과를 처리하기 위한 적절한 방법을 선택하면 결과에 큰 영향을 미칠 수 있습니다. 코드의 효율성과 유연성. 이 기사에서는 결과 데이터를 검색하는 데 일반적으로 사용되는 두 가지 방법인 bind_result와 get_result의 차이점을 살펴봅니다.
bind_result
bind_result는 변수 할당을 정밀하게 제어해야 할 때 이상적입니다. 각 열에 바인딩할 변수를 명시적으로 지정하면 변수 순서가 반환된 행의 구조와 엄격하게 일치합니다. 이 접근 방식은 반환된 행의 구조를 미리 알고 그에 따라 코드를 맞춤화할 수 있는 경우에 유리합니다.
$query1 = 'SELECT id, first_name, last_name, username FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query1); /* Binds variables to prepared statement i corresponding variable has type integer d corresponding variable has type double s corresponding variable has type string b corresponding variable is a blob and will be sent in packets */ $stmt->bind_param('i',$id); /* execute query */ $stmt->execute(); /* Store the result (to get properties) */ $stmt->store_result(); /* Get the number of rows */ $num_of_rows = $stmt->num_rows; /* Bind the result to variables */ $stmt->bind_result($id, $first_name, $last_name, $username); while ($stmt->fetch()) { echo 'ID: '.$id.'<br>'; echo 'First Name: '.$first_name.'<br>'; echo 'Last Name: '.$last_name.'<br>'; echo 'Username: '.$username.'<br><br>'; }
bind_result의 장점:
bind_result의 단점:
get_result
get_result는 데이터 검색을 위한 보다 다양한 솔루션을 제공합니다. 반환된 행의 데이터를 포함하는 연관/열거 배열 또는 객체를 자동으로 생성합니다. 이 방법은 동적 결과 구조를 처리하거나 데이터 액세스에 유연성이 필요할 때 편리합니다.
$query2 = 'SELECT * FROM `table` WHERE id = ?'; $id = 5; $stmt = $mysqli->prepare($query2); /* Binds variables to prepared statement i corresponding variable has type integer d corresponding variable has type double s corresponding variable has type string b corresponding variable is a blob and will be sent in packets */ $stmt->bind_param('i',$id); /* execute query */ $stmt->execute(); /* Get the result */ $result = $stmt->get_result(); /* Get the number of rows */ $num_of_rows = $result->num_rows; while ($row = $result->fetch_assoc()) { echo 'ID: '.$row['id'].'<br>'; echo 'First Name: '.$row['first_name'].'<br>'; echo 'Last Name: '.$row['last_name'].'<br>'; echo 'Username: '.$row['username'].'<br><br>'; }
get_result의 장점:
get_result의 단점:
결론
둘 중 하나의 선택 Bind_result 및 get_result는 애플리케이션의 특정 요구 사항에 따라 달라집니다. Bind_result는 결과 데이터에 대한 정밀도와 제어 기능을 제공하지만 동적 데이터 구조에서는 번거로울 수 있습니다. get_result는 유연성과 편의성을 제공하지만 이전 PHP 버전에서는 지원되지 않을 수 있습니다. 각 방법의 장점과 한계를 이해하면 개발자는 쿼리 결과를 처리할 때 정보를 바탕으로 결정을 내릴 수 있습니다.
위 내용은 `bind_result` 대 `get_result`: 쿼리 결과를 검색하려면 어떤 MySQLi 방법을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!