>  Q&A  >  본문

MySQLi 결과 세트에서 채워진 배열에서 null 유형 값의 배열 오프셋에 액세스하려고 합니다.

마침내 PHP 설치를 7.2에서 7.4로 업데이트할 수 있게 되었는데(현재 버전으로 직접 업데이트할 계획이지만 단계적으로 수행함) 기존 스크립트를 실행할 때 이상한 오류가 발생했습니다.

메시지: null 유형의 값에서 배열 오프셋에 액세스하려고 시도했습니다.

표시되는 줄은 단순히 간단한 mysql 결과 집합의 배열을 채웁니다.

으아악

스크립트는 여전히 잘 실행되지만 오류가 발생하는 것은 마음에 들지 않습니다. 나는 이것이 왜 잘못되고 있는지 혼란스러워서 몇 시간 동안 아무 소용이 없었습니다. 이 오류는 왜 발생합니까? 오류 없이 동일한 작업을 수행할 수 있는 방법이 있습니까?

P粉046387133P粉046387133265일 전499

모든 응답(2)나는 대답할 것이다

  • P粉076987386

    P粉0769873862024-01-03 16:51:35

    문서에 따르면 결과 집합의 끝에 도달하면 mysqli_fetch_row 将返回 null.

    루프를 사용할 수 있습니다. 권장하지는 않지만 가능한 해결책입니다. foreach 으아악

    이 이상한 장치를 실제로 사용할 필요는 없습니다. 더 간단한 작업을 위해 array_column()을 사용할 수 있습니다.

    으아악

    회신하다
    0
  • P粉681400307

    P粉6814003072024-01-03 14:58:49

    mysqli_fetch_row 将在某个时刻返回 null(문서에 따르면 검색할 행이 부족할 때 항상 이 작업을 수행합니다). 그러나 0번째 인덱스를 읽기 전에 확인하지 않았으므로 오류가 발생합니다.

    많은 사람들이 이 스타일을 사용하여 행을 검색합니다.

    으아악

    이렇게 하면 이러한 문제를 피할 수 있습니다. 이는 예제와 문서에서 자주 볼 수 있는 방법이기도 합니다.

    회신하다
    0
  • 취소회신하다