> 데이터 베이스 > MySQL 튜토리얼 > `mysql_fetch_array()`가 리소스 대신 부울 값을 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

`mysql_fetch_array()`가 리소스 대신 부울 값을 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Susan Sarandon
풀어 주다: 2024-12-22 03:05:16
원래의
987명이 탐색했습니다.

Why Does `mysql_fetch_array()` Return a Boolean Instead of a Resource, and How Can I Fix It?

MySQL 리소스 오류: mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 등..."

상호작용을 시도할 때 MySQL 데이터베이스를 사용하면 개발자는 다음과 같은 오류 메시지를 접할 수 있습니다. "mysql_fetch_array()는 매개변수 1이 부울 값일 것으로 예상합니다." 이 문제는 쿼리가 실패하고 쿼리 결과를 인수로 받는 함수가 이를 리소스 대신 부울로 해석할 때 발생합니다.

해결 방법 이 오류의 첫 번째 단계는 쿼리가 성공적으로 실행되었는지 확인하는 것입니다. mysql_fetch_array()와 같은 함수에 결과를 전달하기 전에 mysql_query()를 사용하여 결과 변수를 평가합니다. false를 반환하면 쿼리가 실패했으며 추가 처리가 발생하지 않아야 합니다.

MySQL 확장에서 오류 조건 처리

더 이상 사용되지 않는 mysql_ 확장은 오류를 검색하는 방법을 제공합니다. mysql_error()를 사용하여 실패한 쿼리와 관련된 메시지를 확인합니다. 이 검사를 코드에 통합함으로써 개발자는 오류를 트리거하고 해당 오류를 처리하기 위한 의미 있는 정보를 제공할 수 있습니다. issue.

mysql_ 확장의 예:

$username = mysql_real_escape_string($_POST['username']);
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE '$username'");

if ($result === FALSE) {
    trigger_error(mysql_error(), E_USER_ERROR);
}

while ($row = mysql_fetch_array($result)) {
    echo $row['FirstName'];
}
로그인 후 복사

이 단계에 따라 개발자는 mysql_fetch_array()가 리소스를 예상하지만 리소스를 수신하는 문제를 진단하고 해결할 수 있습니다. 부울을 사용하여 MySQL 테이블에서 원활한 데이터 검색을 보장합니다.

위 내용은 `mysql_fetch_array()`가 리소스 대신 부울 값을 반환하는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿