MySQL 데이터베이스에 세션 데이터를 저장하기 위해 사용자 정의 세션 핸들러를 사용하려고합니다. "mysql_close() : 제공된 인수가 유효한 MySQL-Link 자원이 아닙니다.
function _open(){
global $_sess_db;
$_sess_db = mysql_connect("localhost", "root", "******");
if ($_sess_db) {
return mysql_select_db('style', $_sess_db);
}
return false;
}
function _close(){
global $_sess_db;
return mysql_close($_sess_db); //error happens here
}
오류 메시지의 전체 텍스트가 궁극적으로 최종 점 : i here에서 가져온 내가 사용하는 코드를 여기
mysql_close(): supplied argument is not a valid MySQL-Link resource
것 : 그러나, 나는 다음과 같은 경고가 계속 return mysql_close ($ _ sess_db); " 선. mysql_connect 정보가 실제로 작동한다는 것을 확인할 수 있으며 나머지 세션 핸들러 함수도 정의되어 있습니다.
그리고 도움이 될 경우 실제로 세션 핸들러 함수를 호출하지 않고 현재 세션을 열지 않고도 페이지로드시 즉시 이러한 오류가 발생합니다. _open 일부 디버그 출력물을 추가
위에 여러 데이터베이스를 사용하지 않는 경우 인수가 전달되지 않으면 마지막으로 열린 연결을 자동으로 닫으므로 닫을 DB 연결을 지정하지 않아도됩니다. – dqhendricks
또한 비 영구적 인 db 연결은 스크립트의 끝에서 자동으로 닫히므로 db 연결을 닫는 것이 프로젝트에 따라 필요하지 않을 수도 있습니다. – dqhendricks
네, 가변 범위가 문제였습니다. 더 이상 오류가 발생하지 않습니다. 그러나, 세션을 시작한 후 $ _SESSION [ 'uid'] = 4 할 노력하고있어.하지만이 전혀 데이터베이스에 반영 점점 보이지 않는다. session_write 함수를 정의했기 때문에, $ _SESSION [ 'uid'] = ... 맞습니까? 이 경우 사용자 지정 처리기 함수에 문제가 있습니까? – maxedison