이전 목록 다음
채택완료

2010년도에 사용하던 sql 문법중 지금 쓸 수 없는것도 있나요?

시핑하다보니 괜찮은 프로그램들을 찾게되는데 DB 필드에 값 전달이 안되는 현상이

있더라구요. 상세한 분석을 부탁드리는건 아니구요. 있다 없다 정도의 답변만 얻어도 좋습니다.ㅎ

제가 어떻게 해볼 수 있는게 아니라..  

 

Copy
function userLogin($username, $password) {        $clnUsername = $this->escapeForDb($username);        $loginSQL = "SELECT id, full_name, username, salt, password, usergroup, show_offline_buddies FROM mia_users WHERE username={$clnUsername}";        $user = $this->executeSQL($loginSQL);        if (empty($user)) {            return false;        } else {                $dbSalt = $user->fields[3];            $dbPassword = $user->fields[4];        }                //Try to recreate password for matching        $inputHashedPassword = sha1($password . $dbSalt);        //Test db password against the one entered on the form        if ($inputHashedPassword !== $dbPassword) {            return false;        } else {            //We have a match, now update/rerandomize the salt and password for added security            $newPasswordArray = $this->buildPassword($password);            $newSalt = $this->escapeForDb($newPasswordArray['salt']);            $newPasswordHash = $this->escapeForDb($newPasswordArray['password']);            $now = $this->escapeForDb(date("Y-m-d H:i:s"));            $updateSQL = "UPDATE mia_users                            SET password = {$newPasswordHash},                            salt = {$newSalt},                            heartbeat = {$now},                            status = 'online',                            password_reset_key = ''                            WHERE username={$clnUsername}";            if ($this->executeSQL($updateSQL)===false) {                return false;            }        }        $userid = $user->fields[0];        $fullname = $user->fields[1];        $username = $user->fields[2];        $usergroup = $user->fields[5];        $showoffline = $user->fields[6];        $env = sha1($_SERVER['HTTP_USER_AGENT'].$_SERVER['REMOTE_ADDR']);        $this->setupSession($userid, $fullname, $username, $usergroup, $env, $showoffline);    }        /**    * Creates a new account    * @param fullname    * @param username    * @param email    * @param password    */    function createUserAccount($fullname, $username, $email, $password, $timeoffset) {        $clnFullname = $this->escapeForDb($fullname);        $clnUsername = $this->escapeForDb($username);        $clnEmail = $this->escapeForDb($email);                $passwordArray = $this->buildPassword($password);        $clnSalt = $this->escapeForDb($passwordArray['salt']);        $clnPasswordHash = $this->escapeForDb($passwordArray['password']);        $now = $this->escapeForDb(date("Y-m-d H:i:s"));                $userSQL = "INSERT INTO mia_users (full_name, username, password, salt, email, usergroup, time_offset, create_date)             VALUES ({$clnFullname}, {$clnUsername}, {$clnPasswordHash}, {$clnSalt}, {$clnEmail}, 1, {$timeoffset}, {$now})";        $result = $this->executeSQL($userSQL);        if (!$result) {            return false;        }    }
 
|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

파일 내용 중 일부분인가 보네요.

그리고 저건 특정 사이트에서 사용하는 거군요. 

테이블명(mia_users)이 이미 정해져 있는 걸 보면요.

 

저걸 사용하시려면 해당 파일에 지정되어 있는 테이블명을 전부 수정하셔야 하겠네요. 

답변에 대한 댓글 1개

그부분을 설명에 빠트렸군요.ㅎ;
테이블도'mia_users' 로 생성되어 있습니다. 계정생성 부분 외에는
모두 정상적으로 출력이 되는걸 보면 설치와 설정부분에 미흡한 점이
있었는지 다시 검토해보겠습니다. 말씀 감사합니다~

답변을 작성하려면 로그인이 필요합니다.