Android - 将登录信息发送到MySQL数据库

时间:2016-08-24 21:44:56

标签: java php android mysql android-asynctask

我有一项活动,用户输入他/她的姓名,用户名和密码。我想将此信息作为MySQL数据库中的条目发送。这是我的代码:

 <?php

   require "Connection.php"; //Establishes connection to database


   $name = $_POST["user"]; 
   $user_name = $_POST["user_name"];
   $user_pass = $_POST["user_pass"];

   $sql_query = "insert into user_info values('$name','$user_name','$user_pass');"; 

   if (mysqli_real_query($link, $sql_query)) {

      echo "<h1> Data Insertion Success! </h1>";

   }

   else {

     echo "Data Insertion Error..."; 


   }


 ?>

代码运行时没有任何错误,但程序执行后数据库仍为空。这是我的PHP文件(Register.php):

<?php


   $link = mysqli_init();

   $success = mysqli_real_connect($link,$host,$user,$password,$db,$port);


   if($success) {

      echo "<h1> Success! </h1>";

   }


   else {

      echo "Error...".mysqli_connect_error();

   }

?>

连接数据库的代码(Connection.php):

LinearLayoutManager layoutManager = new LinearLayoutManager(this) {

    @Override
    public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
        LinearSmoothScroller smoothScroller = new LinearSmoothScroller(this) {

            private static final float SPEED = 300f;// Change this value (default=25f)

            @Override
            protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
                return SPEED / displayMetrics.densityDpi;
            }

        };
        smoothScroller.setTargetPosition(position);
        startSmoothScroll(smoothScroller);
    }

};

我在这里遗漏了什么吗?我很乐意感谢你的帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

这是我最终用来在doInBackground方法中将数据发送到我的数据库的代码:

try{ 


            String data = URLEncoder.encode("user", "UTF-8") + "=" + URLEncoder.encode(name, "UTF-8") + "&" +
                    URLEncoder.encode("user_name", "UTF-8") + "=" + URLEncoder.encode(user_name, "UTF-8") + "&" +
                    URLEncoder.encode("user_pass", "UTF-8") + "=" + URLEncoder.encode(user_pass, "UTF-8");

            URL url = new URL(reg_url);
            URLConnection conn = url.openConnection();
            conn.setDoOutput(true);

            OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
            wr.write(data);
            wr.flush();

            BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
            StringBuilder sb = new StringBuilder();
            String line;
            // Read Server Response
            while((line = reader.readLine()) != null)
            {
                sb.append(line);
                break;
            }

            Log.e("TAG", sb.toString());

            return sb.toString();


        }catch(Exception e){
            return new String("Exception: " + e.getMessage());
        }

参考:Android login to mysql database

同样结果我输入的服务器端口号不正确。我也修好了,现在一切似乎都运转正常。谢谢你们所有人的帮助!