"mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 등... 매개변수 1이 리소스가 될 것으로 예상합니다." 오류 이해
이 오류가 발생하면 데이터베이스 검색 중 하나가 함수(예: mysql_fetch_array(), mysql_fetch_assoc() 등)가 잘못된 매개변수로 호출되고 있습니다. 구체적으로 매개변수는 데이터베이스 결과 세트를 나타내는 리소스여야 하는데 부울 값이 아닙니다.
오류의 원인
이 문제의 근본 원인 오류는 일반적으로 실패한 데이터베이스 쿼리입니다. 쿼리가 실패하면 mysql_* 함수/메서드가 false를 반환하는데, 이는 부울 값으로 잘못 해석될 수 있습니다. 따라서 나중에 잘못된 결과로 검색 함수를 호출하면 이 오류가 발생합니다.
오류 수정
이 문제를 해결하려면 다음을 수행해야 합니다. 다음 단계를 따르십시오.
예
다음 코드를 고려하세요.
$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_query( ) 쿼리가 실패하면 오류를 트리거합니다. 그런 다음 $result 리소스를 mysql_fetch_array() 함수에 올바르게 전달합니다. 이렇게 하면 적절한 매개변수가 사용되어 오류 발생을 방지할 수 있습니다.
위 내용은 `mysql_fetch_array()`에 '매개변수 1이 리소스일 것으로 예상합니다'가 표시되는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!