Проблема с получением ответа от базы данных MySQL на сервере

#java #php #android #mysql

#java #php #Android #mysql

Вопрос:

Я работаю над приложением, которое выполняет запись в базу данных, и я просто хочу получить некоторые разъяснения о том, почему что-то происходит. У меня есть класс AsyncTask, который я использую для публикации и извлечения информации. Все работает нормально. Но в моем onPostExecute () Я получаю исключение с нулевым указателем, если мой php-скрипт выдает эхо. Если я закомментирую эхо, все работает нормально. Может кто-нибудь пояснить, почему это происходит, и, возможно, исправить то, что я делаю неправильно? Код, который я предоставил, является причиной ошибки.

 @Override
protected void onPostExecute(String result) {
    switch (result){
        case "Registration Success...":
            Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
            break;
        case "One row inserted":
            Toast.makeText(context, result, Toast.LENGTH_SHORT).show();
            break;
        default:
            alertDialog.setMessage(result);
            alertDialog.show();
            context.startActivity(new Intent(context, MainMenuActivity.class));
            break;
    }
}
  

php

 <?php

require "init.php";

$name = $_POST["name"];
$email = $_POST["email"];
$mobile = $_POST["mobile"];

$sql = "insert into product_info values('$name', '$email', '$mobile');";

if(mysqli_query($con, $sql)){
      echo "<br><h3>One Row inserted</h3> // if I leave this like this it causes the error. 
} else {
      //echo "Error in insertion". mysqli_error($con);
}
?>
  

Комментарии:

1. У вас нет закрывающей кавычки в строке echo. echo «<br><h3> Вставлена одна строка </ h3>», я думаю, это исправит

2. Вы уязвимы для атак с использованием sql-инъекций