"php warning mysql_fetch_assoc" Mystified?
MySQL 데이터베이스에서 데이터를 검색하려고 할 때 당황스러운 "mysql_fetch_assoc" 메시지가 나타나는 것은 드문 일이 아닙니다. (): 제공된 인수는 유효한 MySQL 결과 리소스가 아닙니다." 경고. 이 문제는 mysql_fetch_assoc() 함수에 전달된 인수가 유효한 결과 집합 포인터가 아닐 때 발생합니다.
원인 이해
mysql_fetch_assoc() 함수는 다음과 같이 설계되었습니다. MySQL 결과 세트에서 연관 배열을 추출합니다. 결과 세트는 mysql_query()를 사용하여 쿼리를 실행하여 얻습니다. 따라서 mysql_fetch_assoc()에 전달된 인수는 일반적으로 mysql_query()에 의해 반환되는 유효한 결과 집합 포인터여야 합니다.
코드 살펴보기
제공된 코드 조각에서 문제는 두 번째 줄에 있습니다.
<code class="php">$mus = mysql_fetch_assoc($musicfiles);</code>
$musicfiles 변수에는 MySQL 결과 집합 포인터가 포함되어 있지 않습니다. 대신 getmusicfiles()에 대한 함수 호출 결과가 포함됩니다. 이 함수는 쿼리를 실행하고 결과를 반환하는 것처럼 보이지만(아마 mysql_query()를 사용하여) 반환 값이 변수에 저장되지 않습니다.
올바른 접근 방식
이 문제를 해결하려면 mysql_query() 호출 결과를 변수에 할당해야 합니다. 코드의 관련 부분을 다시 작성할 수 있는 방법은 다음과 같습니다.
<code class="php">$result = getmusicfiles($records['m_id']); $mus = mysql_fetch_assoc($result);</code>
mysql_query()의 결과를 $result에 할당하면 mysql_fetch_assoc()에 작업할 유효한 결과 집합 포인터가 있는지 확인할 수 있습니다.
위 내용은 \'mysql_fetch_assoc(): 제공된 인수는 유효한 MySQL 결과 리소스가 아닙니다\'라는 경고가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!