我正在开发一个写入数据库的应用程序,我只想澄清为什么会发生某些事情。我有一个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);
}
?>