Пожалуйста помоги.
Я хочу вставить данные с Android на сервер (PHP) с помощью okhttpclient, код не работает.
Пожалуйста, помогите, я был более чем 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;
}
}
Других решений пока нет …