请帮忙。
我想使用okhttpclient将数据从android插入服务器(php),代码不起作用。
请帮助,我已经呆了超过1天

谢谢。

这是我的PHP代码:

$con=mysqli_connect("localhost","root","","Androidtesting");

if (mysqli_connect_errno($con))
{
   echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

if(isset($_POST['email']))
{
   //insert query

   $email = $_POST['email'];
   $password = $_POST['password'];

   $sql = "INSERT INTO users (email, password)
   VALUES (".$email.", ".$password.");";

   mysqli_query($con, $sql);
}


mysqli_close($con);




我的Android代码:

Thread thread = new Thread(new Runnable(){
        @Override
        public void run() {
            try {
                OkHttpClient client = new OkHttpClient();

                String email = "myemail";
                String password = "mypassword";

                RequestBody body = new FormEncodingBuilder()
                        .add("contentType", "application/x-www-form-urlencoded")
                        .add("email", email)
                        .add("password", password)
                        .build();

               Request request = new Request.Builder()
                       .url("http://10.0.2.2/AndroidTestingProject/data.php")
                       .post(body)
                       .build();

                Response response = client.newCall(request).execute();

                response.body().string();
                if (!response.isSuccessful()) throw new
IOException("Unexpected code " + response);
}catch(Exception e)
                {
                    System.out.println("FIL FUNCTION errroros hwa "+e);
                }

        }
    });

    thread.start();

最佳答案

终于我得到了一个答案..它在php代码中,应该像下面这样。

foreach ($_POST as $key => $value) {
switch ($key) {
    case 'email':
    {
        echo  $firstKey = $value;
    }
    break;
    case 'password':
        echo $secondKey = $value;
        break;
    default:
        break;
    }
}

关于java - Android okohttp将数据插入php无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35359037/

10-08 22:23
查看更多