현재 위치: > 최신 기사 목록> mysqli :: $ server_info null 값을 반환하는 이유는 일반적으로 원인이되는 이유는 무엇입니까? 일반적인 오류 및 해당 솔루션은 무엇입니까?

mysqli :: $ server_info null 값을 반환하는 이유는 일반적으로 원인이되는 이유는 무엇입니까? 일반적인 오류 및 해당 솔루션은 무엇입니까?

gitbox 2025-06-21
<span><span><span class="hljs-meta"><?php</span></span><span>
</span><span><span class="hljs-comment">// 코드 의이 부분은 기사의 내용과 관련이 없습니다.,자리 표시 자 예로</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"이것은 기사의 시작 부분에서 관련이없는 콘텐츠의 예입니다.。"</span></span><span>;
</span><span><span class="hljs-meta">?></span></span><span>

<hr>

<h1>mysqli::</span><span><span class="hljs-variable">$server_info</span></span><span> 일반적으로 널 값을 반환하는 원인은 무엇입니까?,일반적인 오류 및 해당 솔루션은 무엇입니까??</h1>

<p>사용 중 PHP ~의 <code>mysqli

위의 코드에서 $ mysqli-> connect_error가 비어 있지 않으면 연결이 실패했음을 의미합니다. 현재 $ mysqli-> server_info가 비어있을 수 있습니다.

일반적인 오류 1 : 연결 오류는 연결 고장을 일으 킵니다

사용자 이름 또는 비밀번호, 데이터베이스 주소 등과 같은

공통 오류 2 : 속성에 액세스 할 때 연결이 실패했습니다

$ mysqli-> server_info 에 직접 액세스하지만 연결이 성공했는지 여부는 결정되지 않았습니다.

일반적인 오류 3 : 멀티 스레드 또는 비동기 환경에서 비정상적인 객체 상태

MySQLI 객체 상태는 불안정하여 속성 읽기 예외를 유발할 수 있습니다.

3. 솔루션

  1. 연결이 성공한 후 Server_Info 에 액세스하십시오.
    $ mysqli-> connect_error 또는 $ mysqli-> connect_errno를 사용하여 연결 상태를 확인하십시오.
  2. 예외 처리 메커니즘을 사용하십시오 <br> mysqli_report (mysqli_report_error | mysqli_report_strict)를 켜서 오류를 포착하려면; 침묵 실패를 피하기 위해.
  3. MySQL 서버가 정상적으로 실행 중인지 확인하십시오 <br> 데이터베이스 서버 상태를 확인하고 버전 정보를 사용할 수 있는지 확인하십시오.
  4. 연결이 닫힌 후 속성에 액세스하지 마십시오 <br> 객체 상태 예외를 피하려면 Close ()을 호출하기 전에 관련 속성을 사용해야합니다.

4. 예제 개선 코드

 </span><span><span class="hljs-title function_ invoke__">mysqli_report</span></span><span>(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

</span><span><span class="hljs-keyword">try</span></span><span> {
    </span><span><span class="hljs-variable">$mysqli</span></span><span> = </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-title function_ invoke__">mysqli</span></span><span>(</span><span><span class="hljs-string">'localhost'</span></span><span>, </span><span><span class="hljs-string">'user'</span></span><span>, </span><span><span class="hljs-string">'password'</span></span><span>, </span><span><span class="hljs-string">'database'</span></span><span>);

    </span><span><span class="hljs-comment">// 연결이 성공적인지 확인하십시오</span></span><span>
    </span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_errno) {
        </span><span><span class="hljs-keyword">throw</span></span><span> </span><span><span class="hljs-keyword">new</span></span><span> </span><span><span class="hljs-built_in">Exception</span></span><span>(</span><span><span class="hljs-string">"연결이 실패했습니다: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->connect_error);
    }

    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"MySQL 서버 버전: "</span></span><span> . </span><span><span class="hljs-variable">$mysqli</span></span><span>->server_info;

    </span><span><span class="hljs-variable">$mysqli</span></span><span>-></span><span><span class="hljs-title function_ invoke__">close</span></span><span>();
} </span><span><span class="hljs-keyword">catch</span></span><span> (</span><span><span class="hljs-built_in">Exception</span></span><span> </span><span><span class="hljs-variable">$e</span></span><span>) {
    </span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"오류 메시지: "</span></span><span> . </span><span><span class="hljs-variable">$e</span></span><span>-></span><span><span class="hljs-title function_ invoke__">getMessage</span></span><span>();
}

5. 요약

mysqli :: $ server_info가 null 값을 반환하는 경우, 가장 먼저해야 할 일은 MySQL 연결이 성공했는지 여부를 확인하는 것이 가장 일반적인 이유입니다. 둘째,이 속성에 액세스하는시기에주의를 기울이고 MySQLI 객체가 유효한 연결 상태에 있는지 확인하십시오. 마지막으로, 오류보고 및 예외 캡처 메커니즘의 합리적인 사용은 문제를 신속하게 찾아서 해결하는 데 도움이 될 수 있습니다.