Я хочу отправить MySQL в datetime и идентификатор пользователя. Вот мой Android-код:
try {
String user = params[1];
String date = params[2];
URL url = new URL("http://www.aa.aa/add_signal.php");
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
httpURLConnection.setDoInput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
String post_data = URLEncoder.encode("user", "UTF-8")+"="+URLEncoder.encode(user, "UTF-8")+"&"
+URLEncoder.encode("date", "UTF-8")+"="+date;
bufferedWriter.write(post_data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
String result = "";
String line = "";
while((line = bufferedReader.readLine()) != null) {
result += line + "\n";
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
Log.d("HERE", "SENDING RESULT");
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
И вот мой PHP-код:
<?php
require_once 'conf/zmienne.php';
require_once 'inc/baza.php';
$user=$_GET["user"];
$date=$_GET["date"];
$query = "INSERT INTO 'signals_dates' ('date', 'user') VALUES ('$date', '$user')";
$baza->query($query);
echo 'DONE';
?>
И у меня новая запись в базе данных, но она только нули. Строка post_data
для некоторых примерных данных: user=1&date=2017-12-15 15:15:15
. Я не знаю, что я делаю неправильно, что данные не сохраняются в базе данных. Я запускаю этот скрипт add_signal.php
в веб-браузере, и он работает хорошо.
Я изменил свой код на:
try {
String user = params[1];
String date = params[2];
String str_url = add_signal_url+"?user="+user+"&date="+date;
URL url = new URL(str_url);
HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoInput(true);
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
String result = "";
String line = "";
while((line = bufferedReader.readLine()) != null) {
result += line + "\n";
}
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
Log.d("HERE", "SENDING RESULT");
return result;
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
И это работает. Но я не знаю, почему предыдущей версии не было.