请帮忙。
我想使用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/