>  기사  >  백엔드 개발  >  PHP/mysqli의 저장 프로시저에서 여러 결과 세트를 어떻게 검색합니까?

PHP/mysqli의 저장 프로시저에서 여러 결과 세트를 어떻게 검색합니까?

DDD
DDD원래의
2024-11-01 18:45:02827검색

How do you retrieve multiple result sets from a stored procedure in PHP/mysqli?

PHP/mysqli에서 저장 프로시저를 사용하여 여러 결과 세트 검색

PHP/MySQLi에서 여러 결과 세트를 사용하여 저장 프로시저를 실행하려면 주의가 필요합니다. 손질. 저장 프로시저를 실행한 후 두 번째 결과 집합으로 이동하려면 다음을 수행해야 합니다.

  1. mysqli_stmt_execute 사용: mysqli_stmt_execute를 사용하여 저장 프로시저를 실행합니다.
  2. 첫 번째 결과 세트 가져오기: mysqli_stmt_get_result를 호출하여 첫 ​​번째 결과 세트를 얻고 fetch_assoc, fetch_array 또는 fetch_row를 사용하여 해당 데이터를 읽습니다.
  3. 다음 결과 세트로 이동: 읽은 후 첫 번째 결과 세트에서 mysqli_stmt_next_result를 호출하여 다음 결과 세트로 이동합니다.
  4. 두 번째 결과 세트 가져오기: mysqli_stmt_get_result를 다시 호출하여 두 번째 결과 세트를 얻고 해당 데이터를 읽습니다.

다음은 PHP/MySQLi를 사용하는 예제 코드입니다.

<code class="php">$stmt = mysqli_prepare($db, 'CALL multiples(?, ?)');
mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2);
mysqli_stmt_execute($stmt);

// Fetch the first result set
$result1 = mysqli_stmt_get_result($stmt);
while ($row = $result1->fetch_assoc()) {
    printf("%d\n", $row['id']);
}

// Move to the second result set
mysqli_stmt_next_result($stmt);
$result2 = mysqli_stmt_get_result($stmt);
while ($row = $result2->fetch_assoc()) {
    printf("%d\n", $row['id']);
}

mysqli_stmt_close($stmt);</code>

이 코드는 지정된 저장 프로시저의 두 결과 세트 모두에서 데이터를 성공적으로 검색하고 인쇄합니다.

위 내용은 PHP/mysqli의 저장 프로시저에서 여러 결과 세트를 어떻게 검색합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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