mysqli::use_result

(PHP 5, PHP 7, PHP 8)

mysqli::use_result -- mysqli_use_result - 결과 집합 검색 시작


설명

객체 지향 스타일

public mysqli::use_result(): mysqli_result|false

절차적 스타일

mysqli_use_result(mysqli $mysql):mysqli_result|false

데이터베이스 연결에서 mysqli_real_query() 함수를 사용하여 실행된 마지막 쿼리에서 결과 집합 검색을 시작하는 데 사용됩니다.

이 함수나 mysqli_store_result() 함수는 쿼리 결과를 검색하기 전에 호출되어야 하며, 해당 데이터베이스 연결에 대한 다음 쿼리가 실패하는 것을 방지하기 위해 둘 중 하나를 호출해야 합니다.

메모: mysqli_use_result() 함수는 데이터베이스에서 전체 결과 집합을 전송하지 않으므로 집합 내의 특정 행으로 이동하기 위해 mysqli_data_seek()와 같은 함수를 사용할 수 없습니다. 이 기능을 사용하려면 결과 집합을 mysqli_store_result()를 사용하여 저장해야 합니다. 클라이언트 측에서 많은 처리가 수행되는 경우 mysqli_use_result()를 사용해서는 안 됩니다. 이는 서버를 묶고 다른 스레드가 데이터를 가져오는 테이블을 업데이트하는 것을 방지하기 때문입니다.


매개변수

이 함수에는 매개변수가 없습니다.


반환 값

버퍼링되지 않은 결과 개체를 반환하거나 오류가 발생한 경우 false를 반환합니다.


Examples

예제 #1 mysqli::use_result() 예제

객체 지향 스타일

                  
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if ($mysqli->multi_query($query)) {
    do {
        /* store first result set */
        if ($result = $mysqli->use_result()) {
            while ($row = $result->fetch_row()) {
                printf("%s\n", $row[0]);
            }
            $result->close();
        }
        /* print divider */
        if ($mysqli->more_results()) {
            printf("-----------------\n");
        }
    } while ($mysqli->next_result());
}

/* close connection */
$mysqli->close();
?>
                  
                

절차적 스타일

                  
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$query  = "SELECT CURRENT_USER();";
$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */
if (mysqli_multi_query($link, $query)) {
    do {
        /* store first result set */
        if ($result = mysqli_use_result($link)) {
            while ($row = mysqli_fetch_row($result)) {
                printf("%s\n", $row[0]);
            }
            mysqli_free_result($result);
        }
        /* print divider */
        if (mysqli_more_results($link)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($link));
}

/* close connection */
mysqli_close($link);
?>
                  
                

위의 예는 다음을 출력합니다.

my_user@localhost
-----------------
Amersfoort
Maastricht
Dordrecht
Leiden
Haarlemmermeer
                

기타