본문 바로가기
Database/MYSQL

mysql 에서 프로시져 사용히 한개 이상 프로시져 사용시 유의점

by 반화넬 2007. 6. 20.
반응형

 

한페이지에서 두개포함 이상 프로시져를 사용시에는 multi_query 를 사용해야하는 문제가 발생합니다.
문제는 프로시져에서 fetch_row 되는 데이터가 있을경우입니다.
실행만 하면 괜찮지만 추출되는 데이터가있을겨우 참고하세요.


$query="CALL PROCEDURE_NAME(VALUE);";
 if (mysqli_multi_query($MYSQL_CONNECT, $query)) {
    do {
        /* store first result set */
        if ($RESULT = mysqli_use_result($MYSQL_CONNECT)) {
            while ($ROW = mysqli_fetch_row($RESULT)) {
                printf("%s\n", $ROW[0]);
            }
            mysqli_free_result($RESULT);
        }
        /* print divider */
        if (mysqli_more_results($MYSQL_CONNECT)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($MYSQL_CONNECT));
}


$query="CALL PROCEDURE_NAME(VALUE);";
 if (mysqli_multi_query($MYSQL_CONNECT, $QUERY)) {
    do {
        /* store first result set */
        if ($RESULT = mysqli_use_result($MYSQL_CONNECT)) {
            while ($ROW = mysqli_fetch_row($RESULT)) {
                printf("%s\n", $ROW[0]);
            }
            mysqli_free_result($RESULT);
        }
        /* print divider */
        if (mysqli_more_results($MYSQL_CONNECT)) {
            printf("-----------------\n");
        }
    } while (mysqli_next_result($MYSQL_CONNECT));
}

반응형