1

well this is the code snippet i use to access the getUser.php to retrive user details from a MySQL database in my application:

String result = "";

    //the year data to send

    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

    nameValuePairs.add(new BasicNameValuePair("uid","demo"));

         //http post
         try{
                 HttpClient httpclient = new DefaultHttpClient();

           HttpPost httppost = new HttpPost("http://192.xxx.xx.xxx/getUser.php");

            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                InputStream is = entity.getContent();
        }catch(Exception e){
                Log.e("log_tag", "Error in http connection "+e.toString());
        }
        //convert response to string
        try{
                InputStream is = null;
                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());
        }

        //parse json data
        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("fname")+
                                ", sex: "+json_data.getInt("sex")+
                                ", birthyear: "+json_data.getInt("dob")
                        );
                }

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

}

This snippet is taken from http://helloandroid.com

Everything is configured fine: the MySQL Db, IIS with FASTCGi, PHP tools and drivers. even the script below when called from browser with url: http://192.xxx.xx.x.xxx/getUser.php?uid=demo works fine, But returns error in android with java.lang.NullPointerException and org.json.JSONEXCEPTION: End of input at character 0

<?php
mysql_connect("myhost","username","pwd");
mysql_select_db("mydb");

$q=mysql_query("SELECT * FROM userinfo WHERE uid ='".$_REQUEST['uid']."'");

while($e=mysql_fetch_assoc($q))
        $output[]=$e;

print(json_encode($output));

mysql_close();
?>

Can anybody help in this section?

Regards, Mistry Hardik

3
  • Please post the full stacktrace of exceptions, and point out which lines of code they refer to. Commented Nov 30, 2010 at 17:52
  • are you running your server on the same system on which emulator is running. Commented Dec 31, 2010 at 14:26
  • This tutorial worked for me: itweb-projects.com/wordpress/… Commented Nov 2, 2011 at 14:14

1 Answer 1

1

You are using the HttpPost Object, which means that are you are initiating a post-request! Are you sure you dont want to do a HttpGet Request? I ran into the same issue and switching to HttpGet solved my problem!

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.