Android HttpPost получает NULL из PHP-скрипта вместо JSONArray

У меня есть база данных с двумя столбцами (id, name), которая находится по адресу localhost: 88. Я пытаюсь получить доступ к нему из моего приложения для Android, но при разборе Json приложение выдает JSONException. Я пытался получить данные из php без разбора Json, просто строка. Но он получает только NULL.
Вот мой скрипт php:

<?php

$con = mysqli_connect('127.0.0.1:3306', 'root', '', 'test');

if(mysqli_connect_errno())
echo 'Failed to connect to MySQL: ' . mysqli_connect_error();

$query = mysqli_query($con, "SELECT * FROM example");
$rows = array();

while($r = mysqli_fetch_assoc($query))
$rows[] = $r;

print(json_encode($rows));
mysqli_close($con);
?>

И вот мой метод:

public class MainActivity extends Activity
{
TextView txt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);

txt = (TextView) findViewById(R.id.textView);

txt.setText(getDataFromDB());
}

public String getDataFromDB()
{
try
{
HttpPost httpPost = new HttpPost("http://127.0.0.1:88/basicphp/GetData.php");

HttpClient httpClient = new DefaultHttpClient();
ResponseHandler<String> responseHandler = new BasicResponseHandler();
final String response = httpClient.execute(httpPost, responseHandler);

return response.trim();
}
catch(Exception e){
return "error\n" + e.getMessage();
}
}
}

Когда я печатаю в своем браузере «http://localhost:88/basicphp/GetData.php«, я получаю это:» [{«id»: «1», «name»: «John»}] «. Поэтому я хочу по крайней мере получить эту строку в моем TextView, но TextView получает только ноль 🙁 , Что я делаю неправильно?

1

Решение

менять

 HttpPost httpPost = new HttpPost("http://127.0.0.1:88/basicphp/GetData.php");

это к

 HttpPost httpPost = new HttpPost("http://10.0.2.2/basicphp/GetData.php");

Посетите [вопрос]: java.net.ConnectException: /127.0.0.1:8080 эмулятор Android

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]