테스트 사이트 - 개발 중인 베타 버전입니다

mysql connect 해제 관련

function db_connect() {
       $result = new mysqli('localhost', '****', '****', '****');
       if (!$result) {
         throw new Exception('Could not connect to database server');
       } else {
         return $result;
       }
    }

$conn = db_connect();
$result = $conn->query("update tour_popup
                                  set title = '".$title."'
                                  ,memo = '".$memo."'
                                  ,open_yn = '".$open_yn."'
                                  ,width = ".$width."
                                  ,height = ".$height."
                                  ,pos_x = ".$pos_x."
                                  ,pos_y = ".$pos_y."
                                  where idx = ".$idx." ");

이렇게 실행하고 난 후에
/* 결과를 파괴하고 사용된 메모리를 풀어준다 */
$result->close();
}
/* 접속 닫기 */
$mysqli->close();

이 구문을 반드시 써줘야되나요?
원랜 반드시 써줘야 리소스 낭비를 막는다고 알고있는데, 전에 어떤분이
$conn->query 이런식으로 사용하면
실행 후 굳이 해제 구문을 안써도 자동으로 해제된다고 들은것 같아서요.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 3개

php의 실행이 종료되면 mysqli 연결도 끊어집니다.

http://php.net/manual/en/mysqli.quickstart.connections.php

By default, every database connection opened by a script is either explicitly closed by the user during runtime or released automatically at the end of the script.
(번역 : 기본적으로 스크립트에 의해 열려진 모든 데이터베이스 연결은 실행시간중 사용자에 의해 명시적으로 닫히거나, 스크립트의 종료시점에서 자동적으로 해제됩니다.)
메모리를 비우거나 연결을 종료는 특별히 큰 데이터나 오랜 실행시간이 아니면 별 상관 없습니다^^

게시글 목록

번호 제목
5638
27321
5637
31931
31925
18979
5633
27316
27307
18976
5631
18974
31919
30803
31911
5625
5623
5620
27298
31904
31887
31884
18967
5616
5611
18963
5608
31881
5601
31866
31862
5599
5595
5592
24497
18958
31859
31855
18952
18946
18942
18939
18936
18933
5590
5586
18924
18915
18913
18908
27293
5583
5580
18895
18886
18880
5576
31840
30792
18869
18866
18862
18858
5569
5565
27287
18857
18855
18854
18847
18843
18841
18840
31825
18839
18835
18833
18832
18822
18820
5561
31806
18815
31830
18809
18807
18806
18803
18801
18800
18796
5559
18793
18791
5554
31780
31790
31758
24491
27284