메뉴 건너뛰기

프로그램언어

조회 수 356 추천 수 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
번호 제목 날짜 조회 수
340 $_FILES 2016.12.23 23851
339 $_SERVER 함수 2016.12.23 23948
338 $_SERVER 환경변수 2016.09.21 33245
337 $_SERVER변수 2014.02.27 24454
336 13자리 timestamp 생성하기 file 2020.09.28 657
335 addslashes — 문자열을 슬래시로 인용 2016.12.23 23089
334 addslashes 함수의 필요성 2015.04.14 24258
333 ajax refresh 시키기(자동리플래쉬) with php file 2017.03.06 23188
332 Ajax로 구연한 실시간 서버시간출력 file 2017.03.06 21041
331 AJAX로 해당 페이지에서 COOKIE 사용하기 2021.03.26 360
330 AJAX를 활용하여 JSON 댓글 처리하기 (PHP) 2018.07.04 8467
329 array (배열) 2015.04.14 24908
328 array_key_exists 배열에서 key가 존재하는지 확인 2016.12.23 22214
327 array_push 배열 끝에 하나 이상의 요소를 추가 2016.12.23 21610
326 array_slice 배열의 일부를 추출 2016.12.23 20781
325 base64 인코딩/디코딩 함수의 특징 file 2018.02.09 13090
324 call_user_func 사용자가 정의한 함수를 호출하여 실행고자 할 때 사용 2016.12.23 21323
323 class_exists 클래스가 정의되었는지 확인 2016.12.23 19893
322 Class를 이용한 DB Connection 소스 (Oracle, MyS 2014.02.27 30509
321 CodeIgniter - DB오류체크, 디버깅 여부 설정 2021.03.29 498
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 17 Next
/ 17

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved