android - 将日期时间从 Android 发送到 MySQL

标签 android mysql datetime

我想向 MySQL 发送一个日期时间和一个用户 ID。这是我的 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();
            }
        }

而且它有效。但我不知道为什么以前的版本没有。

关于android - 将日期时间从 Android 发送到 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47956222/

相关文章:

PHP Foreach if ... Zend 框架 ajax

mysql - 添加额外字段以防止需要连接

javascript - 使用 Date.UTC 转换时返回日期时间的正确月份

Python:获取最后一小时的日期时间

java - 图像默认显示未居中

android - 仅在 INTEGER PRIMARY KEY 上允许使用 AUTOINCREMENT - android

mysql - 如何用mysql显示多个条件

android - 将 gradle 依赖项 9.4.0 更新到 9.6.1 时构建错误

android - Firebase 存储的上传/下载速度非常慢

JavaScript:如何将 UTC 日期/时间转换为山区时间?