У меня есть приложение, которое в качестве начального действия должно позволить пользователю войти в удаленную БД MySQL с помощью PHP (пользователи должны быть зарегистрированы администратором).Если пользователь вошел в систему должным образом, выполняется другое действие, и, после изменения некоторых настроек, служба должна быть запущена и непрерывно отправлять данные в эту БД MySQL через PHP.
Меня беспокоит то, что эти данные должныбыть привязан к user_id как к внешнему ключу, как я могу убедиться, что эти данные отправлены на правильный user_id?Я хочу вставить определенные данные в таблицу Call_Data, и для этого мне нужно поле user_id.
Я не уверен, потому что, когда пользователь входит в систему, это то, что я делаю:
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("username", un.getText().toString()));
postParameters.add(new BasicNameValuePair("password", pw.getText().toString()));
String response = null;
try {
response = CustomHttpClient.executeHttpPost("http://10.0.2.2/science/login.php", postParameters);
String res = response.toString();
res = res.replaceAll("\\s+", "");
if (res.equals("1")) {
// We launch main activity to get the app running after successful login
Intent i = new Intent(getApplicationContext(), MtprojectActivity.class);
/* Set the request code to any code you like, you can
* identify the callback via this code
*/
startActivityForResult(i, REQUEST_CODE);
} else {
error.setText(res.toString());
}
} catch (Exception e) {
un.setText(e.toString());
}
Но я не уверен, стоит ли мне извлекать из БД user_id, чтобы я мог передать его другому действию при отправке данных.
Это структура таблиц в моей БД:
CREATE TABLE IF NOT EXISTS `calls_data` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`user_id` int(11) NOT NULL,
`date` varchar(100) DEFAULT NULL,
`duration` varchar(100) DEFAULT NULL,
`type` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `user_id` (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(100) DEFAULT NULL,
`password` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
Большое спасибо за вашу помощь заранее!