>백엔드 개발 >PHP 튜토리얼 >내 PHP 스크립트에서 'mysqli::query(): MySQL 개체가 이미 닫혔거나 MySQL 오류를 가져올 수 없습니다'가 발생하는 이유는 무엇입니까?

내 PHP 스크립트에서 'mysqli::query(): MySQL 개체가 이미 닫혔거나 MySQL 오류를 가져올 수 없습니다'가 발생하는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-12-16 22:18:14880검색

Why is my PHP script throwing

mysqli::query(): MySQL 개체가 이미 닫혔거나 MySQL 오류를 가져올 수 없습니다

문제

PHP 스크립트를 실행하는 동안 다음과 같은 상황이 발생합니다. 오류:

  • PHP 7: mysqli::query(): [line_number]
  • 라인의 [script_path]에서 MySQL을 가져올 수 없습니다. PHP 8: 잡히지 않는 오류: MySQL 개체가 이미 있습니다. 닫힘

설명

이 오류는 MySQL 연결 개체가 닫힌 후 PHP 스크립트가 MySQL 쿼리를 수행하려고 시도하고 있음을 나타냅니다.

해결책

MySQL 연결 개체가 여전히 있는지 확인하세요. 쿼리를 실행하기 전에 활성화됩니다.

// Check if the MySQL connection is open
if ($mysqli->connect_error) {
    // Handle the connection error
} else {
    // Execute the query
    $result = $mysqli->query($query);
}

가능한 원인

  • 연결을 너무 일찍 종료: MySQL 모든 쿼리가 실행된 후에만 연결됩니다.
  • 소멸자 문제: 수행해야 할 쿼리가 여전히 있는 경우 클래스의 소멸자(__destruct) 메서드에서 MySQL 연결을 닫지 마세요.
  • 잘못 선언된 연결 변수: 다음을 확인하세요. MySQL 연결 변수(이 경우 $mysqli)가 전체에 걸쳐 올바르게 선언되고 할당되었습니다. script.

추가 참고 사항

  • EventCalendar 클래스에 대해 제공된 코드 조각에서 MySQL 연결은 소멸자(__destruct) 메서드에서 닫힙니다. . 소멸자가 호출된 후에도 여전히 쿼리가 필요한 경우 문제가 될 수 있습니다.
  • 올바른 PHP 버전과 MySQL 확장을 사용하고 있는지 확인하세요.
  • 추가 오류가 있는지 MySQL 서버 로그를 확인하세요. 메시지.

위 내용은 내 PHP 스크립트에서 'mysqli::query(): MySQL 개체가 이미 닫혔거나 MySQL 오류를 가져올 수 없습니다'가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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