php에서 next_result ()는 여러 결과 세트를 처리하는 데 사용되는 함수입니다. 동일한 연결에서 여러 쿼리를 실행하고 각 쿼리의 결과 세트를 하나씩 처리하려는 등 여러 SQL 쿼리를 처리 할 때 특히 유용합니다. 이 기사는 PHP의 Next_result () 함수를 사용하여 이러한 결과 세트를 처리하고 기본 프로세스 및 기술을 마스터하는 방법을 소개합니다.
next_result () 는 MySQLI 확장자의 다음 쿼리 결과 세트를 가져 오는 데 사용되는 메소드입니다. 연결이 여러 쿼리를 실행하면 Next_Result ()를 사용하여 다음 결과 세트로 전환합니다. 이는 특히 저장 프로 시저를 실행할 때 여러 쿼리가 처리되는 상황에서 매우 유용합니다.
MySQL에서 여러 쿼리가 세미콜론 으로 분리됩니다. MySQLI를 사용하여 여러 쿼리를 실행할 때 PHP는 기본적으로 첫 번째 쿼리 결과 만 리턴 할 수 있습니다. 후속 쿼리 결과 세트를 처리 해야하는 경우 next_result ()를 사용해야합니다.
여러 쿼리를 실행하십시오 <br> 먼저 MySQLI 연결을 만들고 여러 쿼리를 실행하십시오. Multi_Query () 메소드를 사용하여 여러 SQL 쿼리를 한 번에 실행할 수 있습니다.
첫 번째 결과 세트 <br>를 처리하십시오 쿼리를 실행 한 후 첫 번째 쿼리의 결과 세트는 store_result () 또는 use_result () 메소드를 통해 얻습니다.
다음 _result ()를 사용하여 후속 결과 세트 <br>을 얻으십시오 다음 결과 세트로 전환하려면 Next_result ()를 호출하십시오. 그런 다음 첫 번째 결과 세트와 마찬가지로 다른 결과 세트를 처리 할 수 있습니다.
연결을 닫습니다 <br> 마지막으로 데이터베이스 연결을 닫아야합니다.
다음은 실제로 다음 _result () 함수를 사용하여 여러 결과 세트를 처리하는 PHP 샘플 코드입니다.
<?php
// 만들다 MySQLi 연결하다
$mysqli = new mysqli("localhost", "user", "password", "database");
// 检查연결하다是否成功
if ($mysqli->connect_error) {
die("연결하다失败: " . $mysqli->connect_error);
}
// 여러 쿼리를 수행하십시오
$query = "SELECT id, name FROM users; SELECT id, title FROM posts;";
if ($mysqli->multi_query($query)) {
// 첫 번째 쿼리 결과를 처리하십시오
do {
if ($result = $mysqli->store_result()) {
while ($row = $result->fetch_assoc()) {
echo "User: " . $row['name'] . " (ID: " . $row['id'] . ")<br>";
}
$result->free();
}
// 다음 결과 세트를 얻으십시오
if ($mysqli->more_results()) {
$mysqli->next_result();
}
} while ($mysqli->more_results());
} else {
echo "쿼리가 실패했습니다: " . $mysqli->error;
}
// 关闭연결하다
$mysqli->close();
?>
위 코드에서는 두 쿼리가 포함 된 SQL 문을 실행합니다. $ mysqli-> multi_query ($ query) 는이 두 쿼리를 실행하는 데 사용 된 다음 쿼리 결과를 하나씩 ... DO ... While Loop을 통해 하나씩 처리합니다. 각 결과 세트가 처리되면 Next_Result ()가 호출되어 다음 결과 세트를 얻습니다.
저장된 절차 처리 <br> 저장 프로 시저를 사용하면 저장된 절차가 여러 결과 세트를 반환 할 수 있습니다. next_result ()를 사용하여 각 결과를 하나씩 처리 할 수 있습니다.
최적화 된 성능 <br> 특정 결과 세트를 처리 할 필요가 없으면 건너 뛸 수 있습니다. 결과 세트를 처리하지 않고 next_result ()를 호출하십시오.
오류 처리 <br> multi_query ()를 사용하여 여러 쿼리를 실행할 때 각 쿼리의 실행 결과를 확인하십시오. mysqli-> more_results ()는 모든 결과 세트가 처리되었는지 확인할 수 있습니다.