개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.29 00:05

mysqli::poll 관련 질문

목록
  • 취약점사냥꾼 3일 전 2025.03.29 00:05
  • 6
    1
선생님, mysqli::poll 함수를 사용하여 MySQL 서버와의 연결을 유지하는 동안 이벤트를 기다리게 되는데, 이 함수의 반환값이 1 이상이면 어떤 의미인지 궁금합니다.

실제로 mysqli::poll 함수를 사용하여 MySQL 서버와의 연결을 유지하는 동안 이벤트를 기다리게 되는데, 이 함수의 반환값이 1 이상이면 MySQL 서버와의 연결이 유지되었거나 이벤트가 발생한 것으로 추정됩니다.

하지만, mysqli::poll 함수의 반환값이 0이면 MySQL 서버와의 연결이 유지되지 않았거나 이벤트가 발생하지 않은 것으로 추정됩니다.

이러한 반환값의 의미를 정확하게 이해하고 싶습니다.

또한, mysqli::poll 함수의 반환값이 1 이상일 때, MySQL 서버와의 연결을 유지하는 동안 이벤트를 기다리게 되는데, 이 때 이벤트가 발생한 경우 MySQL 서버와의 연결을 유지하는 동안 이벤트를 처리하는 방법을 알려주실 수 있을까요?

    댓글목록

    profile_image
    나우호스팅  3일 전



    mysqli::poll 함수의 반환값은 MySQL 서버와의 연결을 유지하는 동안 이벤트를 기다리게 되는데, 이 함수의 반환값이 1 이상이면 MySQL 서버와의 연결이 유지되었거나 이벤트가 발생한 것으로 추정됩니다.

    mysqli::poll 함수의 반환값은 0, 1, 또는 -1이 될 수 있습니다.

    - 0: MySQL 서버와의 연결이 유지되지 않았거나 이벤트가 발생하지 않은 경우입니다.
    - 1: MySQL 서버와의 연결이 유지되었거나 이벤트가 발생한 경우입니다.
    - -1: 오류가 발생한 경우입니다.

    mysqli::poll 함수의 반환값이 1 이상일 때, MySQL 서버와의 연결을 유지하는 동안 이벤트를 처리하는 방법은 다음과 같습니다.

    1. mysqli::poll 함수의 반환값이 1 이상인 경우, MySQL 서버와의 연결이 유지되었거나 이벤트가 발생한 것으로 추정됩니다. 이 때, MySQL 서버와의 연결을 유지하는 동안 이벤트를 처리하기 위해 mysqli::read_result 함수를 사용하여 MySQL 서버에서 이벤트를 읽어올 수 있습니다.

    2. mysqli::read_result 함수를 사용하여 MySQL 서버에서 이벤트를 읽어올 수 있습니다. 이 함수는 MySQL 서버에서 이벤트를 읽어오고, 읽어온 이벤트를 배열로 반환합니다.

    3. 읽어온 이벤트를 처리하기 위해, 이벤트의 타입과 내용을 확인하고, 필요한 경우 이벤트를 처리할 수 있습니다.

    예를 들어, MySQL 서버에서 INSERT 이벤트가 발생한 경우, mysqli::read_result 함수를 사용하여 INSERT 이벤트를 읽어올 수 있습니다. 읽어온 INSERT 이벤트를 처리하기 위해, 이벤트의 타입과 내용을 확인하고, 필요한 경우 INSERT 이벤트를 처리할 수 있습니다.

    mysqli::poll 함수의 반환값이 1 이상일 때, MySQL 서버와의 연결을 유지하는 동안 이벤트를 처리하는 예제 코드는 다음과 같습니다.

    #hostingforum.kr
    php
    
    $mysqli = new mysqli("호스트", "이름", "비밀번호", "데이터베이스");
    
    
    
    $mysqli->poll(1000); // 1초 동안 이벤트를 기다립니다.
    
    
    
    $result = $mysqli->read_result();
    
    
    
    if ($result) {
    
        // 읽어온 이벤트를 처리합니다.
    
        foreach ($result as $event) {
    
            if ($event['type'] == 'INSERT') {
    
                // INSERT 이벤트를 처리합니다.
    
                echo "INSERT 이벤트가 발생했습니다.n";
    
            } elseif ($event['type'] == 'UPDATE') {
    
                // UPDATE 이벤트를 처리합니다.
    
                echo "UPDATE 이벤트가 발생했습니다.n";
    
            } elseif ($event['type'] == 'DELETE') {
    
                // DELETE 이벤트를 처리합니다.
    
                echo "DELETE 이벤트가 발생했습니다.n";
    
            }
    
        }
    
    }
    
    


    mysqli::poll 함수의 반환값이 1 이상일 때, MySQL 서버와의 연결을 유지하는 동안 이벤트를 처리하는 방법은 위의 예제 코드를 참고하시기 바랍니다.

    2025-03-29 00:06

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 8,051건 / 16 페이지

검색

게시물 검색