메뉴 건너뛰기

프로그램언어

조회 수 288 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
 
Warning: Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0

mysql_query()라는 함수를 써주면 질의의 결과가 메모리에 남게 된다.
그래서 이 질의 결과를 메모리에서 해제 시켜주기 위해 존재하는 함수가 mysql_free_result()이다.

필자의 경험상 mysql_query()함수를 쓴뒤 mysql_free_result()를 써주지 않아도 오류로 웹페이지가 안뜨거나 하는일은 없었다. 하지만, 위의 오류 처럼 "mysql_query()를 썼으면 그걸 해제해주세요~" 라는 식으로 경고 메세지가 뜬다.

웹서핑을 해도 위와 같은 오류일때는, 오류문구를 안뜨게 하면 그만이라는 식의...
" mysql.trace_mode = Off 하세요" 라는내용만 나오길래 짜증나서 이글을 써본다. (이게 알아보니 php메뉴얼의 아래 글중에도 이러라고 되어 있는거 같다.ㅡ.ㅡ; )

저 오류는 보통
$result = mysql_query("select * from testdb");
라는 식의 함수를 쓴뒤
mysql_free_result($result);
라고 메모리 해제를 해주지 않았기에 뜨는 오류이다.


추가사항(2011.04.08)
select 질의문이 아닌, update, delete, insert와 같은 질의를 해도 나오는 결과물이 성공 또는 실패 정도만 나오는 질의문인 경우에는 해당 함수로 메모리 해제를 해줄 필요가 없다.
어찌 보면 당연한 얘기지만, 필자의 경우 질의문이 많이 모여 있는 페이지를 작성시에 모든 질의의 결과를 $result와 같은 하나의 변수에다가 다 처리한뒤 맨 아래에 mysql_free_result()로 한번만 처리를 해주곤 한다. 아마 다른 분들도 이런식으로 한번에 처리 하시는 분들이 많을것이라고 본다.
하지만 이럴경우 가장 마지막에 실행한 질의가 update문이었다고 하고, 그 질의의 올바른 실행여부를 판단하기 위해서 여전히 $result 변수를 썼다면, 이것은 오히려

Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource ... 오류페이지..

와 같은.. mysql_free_result() 함수에 들어간 파라미터가 올바르지 않다는 식의 오류가 뜨게 된다.


List of Articles
번호 제목 날짜 조회 수
80 PHP eregi가 빠를까, strpos가 빠를까? 2018.10.27 4091
79 php date 날짜 관련 함수 file 2021.03.27 411
78 PHP continue 문 file 2015.04.14 21097
77 PHP - 공공 DATA XML 파싱(PHP 버전) 2023.01.12 269
76 PHP + 유튜브(youtube) 동영상 업로드 연동 소스 2021.01.21 1141
75 PHP $_SERVER 함수 2019.02.25 1558
74 PEAR DB 관련 함수들 2021.03.26 690
73 parse_ini_file — Parse a configuration file 2016.12.23 19774
72 MySQL테이블의 내용을 엑셀파일(xls)로 다운로드 하기 2018.07.24 4798
71 mysql_result — 결과 데이터를 반환 2016.12.23 18967
70 mysql_real_escape_string 이진 데이터를 입력할 경우 이 함수를 사용해야 함 2016.12.23 18640
69 mysql_insert_id 2016.12.23 18750
» mysql_free_result(); 관련 오류 2021.03.25 288
67 mysql_affected_rows — 최근 MySQL 작업으로 변경된 행 개수를 얻음 2016.12.23 18807
66 MySQL(MariaDB) 테이블 만들기 2018.03.28 8154
65 mysql 에러 구문 표시 2014.02.27 20349
64 MYSQL 업데이트 두 번 하기 2014.02.27 19729
63 MYSQL DB의 모든 테이블에서 문자열 검색 하기 2021.03.26 915
62 MySQL DB 중복여부 검사하여 없는 것만 추가 2015.04.14 20157
61 MYSQL DB 다중접속을 해결 하는 한 방법 2021.03.26 284
Board Pagination Prev 1 ... 8 9 10 11 12 13 14 15 16 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved