<소스있습니다>어플 실행 후 회원가입란에 입력을 한 후 웹호스팅 데이터베이스 확인을하면 값이 0으로 저장이 되요.. (PHP파일추가했습니다.)


제가 웹호스팅으로 DB를 연계해서 로그인 폼을 만들었는데요 로그인까지 잘 작동이 됩니다. 그 후 '홍길동'님 환영합니다. 학번 'xxxxxxxx' 학과 '0' 이렇게 출력이 되네요. 이름하고 학번은 정확히 회원가입할 당시 입력했던 값으로 데이터베이스에 들어가고 출력또한 됩니다. 그런데 학과부분에 입력한 과이름이 phpmyadmin으로 확인한 데이터베이스에 0으로 입력되고 어플 실행시에도 0값으로 왜 출력이 될까요? 한글 이름은 정확히 저장되고 화면출력에도 잘 나옵니다. 아 참고로 원래 나이 기입하는 부분(int)을 학과명 입력으로 바꾸면서 java파일들(int age 부분을 String으로)과 sqlite php파일들, DB(int->vachar) 까지 다 수정했습니다. 무슨 문제일까요 또다른 수정해야할 부분이 있나요?

여기서 Stn이 학과를 받는 변수입니다.

이건 로그인 성공시 출력하는 화면입니다.

    TextView tvWelcomeMsg = (TextView) findViewById(R.id.tvWelcomeMsg);
    EditText etUsername = (EditText) findViewById(R.id.etUsername);
    EditText etStn = (EditText) findViewById(R.id.etStn);

    // Display user details
    String message = name + "님 SSARI에 접속하신 것을 환영합니다.";
    tvWelcomeMsg.setText(message);
    etUsername.setText(username);
    etStn.setText(stn);
}

}

.etUsername);
        final EditText etPassword = (EditText) findViewById(R.id.etPassword);
        final Button bRegister = (Button) findViewById(R.id.bRegister);

        bRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                final String name = etName.getText().toString();
                final String username = etUsername.getText().toString();
                final String stn = etStn.getText().toString();
                final String password = etPassword.getText().toString();

이거는 데이터베이스와 연결하는 부분입니다. 웹호스팅 주소는 살짝바꾸겠습니다.

public class RegisterRequest extends StringRequest {
    private static final String REGISTER_REQUEST_URL = "http://.com/Register.php";
    private Map<String, 
        params.put("password", password);
        params.put("stn", stn);
    }

대체 문제가 뭐길래 자꾸 학과란을 숫자로만 인식하는 걸까요? 가입할때 숫자를 입력하면 숫자 그대로 출력이 됩니다. 문자입력했을때만 0이라고 데이터베이스에 저장되고 또 0으로 출력됩니다.ㅠㅠ 도와주세요.

  • 2016년 04월 09일에 작성됨

  • RegisterRequest의 params가 제대로 넘어오는지 로그를 남겨보고, DB에 저장하는 부분에서 stn의 값을 출력해보시면 어떨까 싶네요. DB에 저장하는 부분의 소스도 올려주시면 원인을 찾는데 도움이 될 것 같습니다.    이확영   2016.4.9 22:02     
조회수 217


1 답변


좋아요
2
싫어요
채택취소하기

http://php.net/manual/kr/mysqli-stmt.bind-param.php

두번째 파라미터를 "ssss"로 해보시고
db의 값 저장하는 type 이 string(varchar 등)인지 확인해보시면 될거 같아요.

  • 2016년 04월 12일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close