<소스있습니다>어플 실행 후 회원가입란에 입력을 한 후 웹호스팅 데이터베이스 확인을하면 값이 0으로 저장이 되요.. (PHP파일추가했습니다.)
조회수 1300회
제가 웹호스팅으로 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으로 출력됩니다.ㅠㅠ 도와주세요.
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
http://php.net/manual/kr/mysqli-stmt.bind-param.php
두번째 파라미터를 "ssss"로 해보시고
db의 값 저장하는 type 이 string(varchar 등)인지 확인해보시면 될거 같아요.
댓글 입력