2012-05-19 3 views
4

im пытается подключиться к mysql в приложении для Android. Ниже мой код. Как только я запустил код, я получаю «Ошибка анализа данных org.json.JSONException: Конец ввода символа 0». Я использую this учебникandroid connect mysql

код

public class Test extends Activity{ 
    /** Called when the activity is first created. */ 
    @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      //setContentView(R.layout.mainabout); 
      String result = ""; 
      //the year data to send 
      ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); 
      nameValuePairs.add(new BasicNameValuePair("year","1980")); 
      InputStream is = null;    
      //http post 
      try{ 
        HttpClient httpclient = new DefaultHttpClient(); 

        HttpGet httppost = new HttpGet("http://www.pherma.net84.net/admin/getAllPeopleBornAfter.php"); 
       // httppost.s//setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
        HttpResponse response = httpclient.execute(httppost); 
        HttpEntity entity = response.getEntity(); 
        is = entity.getContent(); 
      }catch(Exception e){ 
        Log.e("log_tag", "Error in http connection "+e.toString()); 
      } 
      //convert response to string 
      try{ 
        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8); 
        StringBuilder sb = new StringBuilder(); 
        String line = null; 
        while ((line = reader.readLine()) != null) { 
          sb.append(line + "\n"); 
        } 
        is.close(); 

        result=sb.toString(); 
      } 
      catch(Exception e){ 
        Log.e("log_tag", "Error converting result "+e.toString()); 
      } 

      try 
      { 
       JSONArray jArray = new JSONArray(result); 
       for(int i=0;i<jArray.length();i++){ 
         JSONObject json_data = jArray.getJSONObject(i); 
         Log.i("log_tag","id: "+json_data.getInt("id")+ 
           ", name: "+json_data.getString("name")+ 
           ", sex: "+json_data.getInt("sex")+ 
           ", birthyear: "+json_data.getInt("birthyear") 
        ); 
       } 

      } 
      catch(JSONException e){ 
       Log.e("log_tag", "Error parsing data "+e.toString()); 
      } 
     } 
    } 

LogCat enter image description here

php 

<?php 
mysql_connect(".com","a4055820_root",""); 
mysql_select_db("a4055820_pherma"); 

$q=mysql_query("SELECT * FROM people WHERE birthyear>'".$_REQUEST['year']."'"); 
while($e=mysql_fetch_assoc($q)) 
     $output[]=$e; 

print(json_encode($output)); 

mysql_close(); 
?> 
+0

Переход через следующие ссылки: 1. HTTP: //переполнение стека. com/questions/6996000/error-in-http-connection 2. http://stackoverflow.com/questions/8202048/org-json-json-exception-end-of-input-at-character-0 –

ответ

2

Проблема заключалась в том, что я забыл предоставить разрешение на доступ в Интернет в манифесте.

1

код, кажется, терпят неудачу в первой попытке поймать блока, означающего остальное не будет работать.

Вы уверены, что правильный URL-адрес созданного файла php?

Как выглядит ваш php-файл?

+0

пожалуйста проверьте ответ ... –

+0

Из того, что вы дали, я могу предположить, что соединение не работает. Вы уверены, что файл php находится здесь: «http://www.pherma.net84.net/admin/getAllPeopleBornAfter.php». Также есть значения в базе данных? –

+0

На самом деле, только что заметили эту строку кода, почему она прокомментировала это, так как это прокомментировано, это может закончиться неудачей. // httppost.s // setEntity (новый UrlEncodedFormEntity (nameValuePairs)); –