2011-08-30 2 views
0
난 그냥 로그인 관련 사용자의 모든 DB 데이터를 내 $ _SESSION 배열을 채울 싶습니다. DB를에서 "FIRST_NAME"와 같은

PHP의 MYSQL,

을 $ _SESSION 것

[ "FIRST_NAME 질문 "];

올바르게 수행하는 방법은 무엇입니까?

$ _SESSION = $ result_set; // $의 RESULT_SET 사전에

감사 (라인 0에 알 수없는()) 오류를 굴복 DB

에서 가져온 배열입니다!

답변

3

난 그냥 로그인 관련 사용자의 모든 DB 데이터와 내 $에 _SESSION 배열을 채울 싶습니다.

이 작업을 수행하지 마십시오. 세션에 행 ID 만 저장하고 정보가 필요할 때마다 데이터베이스 요청을 수행하십시오.

이 정보를 세션에 저장하면 사용자가 세션 변수에 반영되지 않은 데이터를 변경하면 데이터가 오래 걸릴 수 있습니다.

+0

좋아, 실제로 내 서버에 여분의 db 액세스를 저장하려고 생각하고 있었다 – Ted

+0

@Ted yeah. 이 경우에는 가치가 없습니다. 데이터베이스가 적절하게 색인되어 있고 모든 것이 큰 부담이되지 않는다면 말입니다. –

+0

이 페이지는 사용자가 개인 정보를 업데이트하는 페이지입니다. – Ted

1

저장할 데이터의 이름을 지정해야합니다. $ _SESSION 변수를 완전히 덮어 쓸 수는 없습니다.

EG : 페카가, 나중에이 데이터를 수집하기 위해 별도의 데이터베이스 호출을 할 수있을 때 세션에서 전체 사용자 프로필을 저장할 필요가 거의 없다 고 말했다 것처럼

$_SESSION['user_id'] = $result_set->id; 

.

관련 문제