Я должен обновить свою базу данных в соответствии с электронной почтой. Я использую сеть Android для обновления данных в моей базе данных, но это только дает мне тайм-аут сервера. Это мой PHP:
<?php
if(isset($_POST['update']))
{
$hostname = "localhost";
$username = "root";
$password = "";
$databaseName = "truck_loader";
$connect = mysqli_connect($hostname, $username, $password, $databaseName);
$name = $_POST['name'];
$email = $_POST['email'];
$mobile = $_POST['mobile'];
$address = $_POST['address'];
$query = "UPDATE `users` SET
`name`='".$name."',`address`='".$address."',`mobile`= $mobile WHERE `email`
= $email";
$result = mysqli_query($connect, $query);
if(mysqli_query($connect,$query))
{
$response['success'] = '1';
$response['message']='Updated successfully';
echo json_encode($response);
exit;
}
else
{
$response['success'] = '0';
$response['message']='Updation failed';
echo json_encode($response);
exit;
}
mysqli_close($connect);
}
?>
Это мой код в Android:
private void updateProfile() {
HashMap<String,String> params=new HashMap<>();
params.put("name",name.getText().toString());
params.put("email",email.getText().toString());
params.put("mobile",mobile.getText().toString());
params.put("address",address.getText().toString());
AndroidNetworking.post("update.php").addBodyParameter(params).setTag("Profile").setPriority(Priority.LOW).build().getAsJSONObject(new JSONObjectRequestListener() {
@Override
public void onResponse(JSONObject response) {
try {
if(response.getString("success").equals("1")) {
Toast.makeText(FragProfile.this, response.getString("message"), Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(FragProfile.this, response.getString("message"), Toast.LENGTH_SHORT).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
}
@Override
public void onError(ANError anError) {
Toast.makeText(FragProfile.this, "Server timeout please try again later", Toast.LENGTH_SHORT).show();
}
});
}
Там нет исключений показано код, поэтому я запутался в том, что ошибка может быть.
РЕДАКТИРОВАТЬ: Я делаю это для профильной деятельности в моем проекте стажировки, поэтому я не использовал сессию в нем.
Удалить эту строку
if(isset($_POST['update'])) {
}
Причина в том, что вы не отправляете ключ update
с Android на php.
Также, пожалуйста, используйте подготовленные операторы, чтобы предотвратить инъекцию SQL
Других решений пока нет …