2012-03-22 3 views
0

많은 SQL 쿼리를 계속 사용해야하는 상황이 프로젝트에 있습니다. 여기에 두 가지 질문이 있습니다. 하나는 일단 데이터베이스와의 연결을 만들면 모든 웹 페이지에서 계속 유지됩니까? 즉, 내 클라이언트는 mySQL 서버와 연결되어 있습니다. 그렇다면, 다음은 세션 변수 즉 나의 MySQL의 링크 식별자를 저장하는 안전 옵션,세션 변수에 mySQL 링크 식별자 전달

$_SESSION['link'] = $link //($link is mysql link identifier) 

이므로함으로써 만 데이터베이스에 하나의 연결을 가지고, 내 웹 페이지를 통해이 변수를 사용합니다. 사용할 수 없습니다

mysql_pconnect(). 

내 두 번째 질문은 데이터베이스에 계속 연결하고 연결을 유지하는 것이 좋습니다. 그것은 좋은 습관입니까? 나는 MySQL 서버를 사용하고 있지만 액세스가 제한되어 있습니다.

+0

나는 세션에서 데이터베이스에 대한 참조를 저장하지 않을 것입니다. 어떤 종류의 프레임 워크를 사용하고 있습니까? 그렇지 않다면 [Singleton pattern] (http://php.net/manual/en/language.oop5.patterns.php)을 사용하는 것이 좋습니다. – augustknight

+0

더 나은 참조 : [The Singleton Pattern] (http : // www.ibm.com/developerworks/library/os-php-designptrns/#N10124) – augustknight

답변

1

제 생각에는 세션에 $link을 저장할 때 아무 것도 저장하거나 이기지 못한다는 것입니다.

각 페이지 데이터로드에 대해 SQL Server에 연결해야합니다. 파일을 포함하는 경우와 같습니다. 이 변수가 세션에 저장되어 있거나 동일한 변수가 아니라면 동일한 종료 비용의 메모리 비용입니다.

지금은 페이지를로드 한 후 쇼가 끝났습니다. :) 연결이 손실되고 세션의 콘텐츠 만 남아 있습니다. (예, 웹 호스트 설정에 따라 DB 연결을 자동으로 닫거나 일정 시간 동안 기다리거나 명령을 수행 할 때까지 기다리는 중입니다.)

시작해야합니다. 로드 된 콘넷을 세션이나 파일에 stotring하는 것에 대해 생각해보십시오. 그런 다음 외부 리소스에서 연결 및 데이터로드를 저장할 수 있습니다. 기본 아이디어 일 수 있습니다.