skyshine
skyshine

Reputation: 2864

How to extract json data and insert in mysql php

Actually I am new to android web services so please help me my problem I am sending json encoded data from mobile client and I am getting json data on server side so that client side code:

  mJobject.put("userName", contactname.getText().toString());
                     mJobject.put("phonenumber",phonenumber.getText().toString() );
                     mJArray.put(mJobject);
                     Log.v(Tag, "^============send request" + mJArray.toString());
                    contactparams.add(new BasicNameValuePair("contactdetails", mJArray.toString()));
                     Log.v(Tag, "^============send request params" + mJArray.toString());
                    jsonString=WebAPIRequest.postJsonData("http://localhost/contactupload/contactindex.php",contactparams);
public static String postJsonData(String url, List<NameValuePair> params) {
    String response_string = new String();

    HttpClient httpclient = new DefaultHttpClient();
    HttpPost httppost = new HttpPost(url);
 //   httppost.addHeader("Content-Type", "application/x-www-form-urlencoded");
    try {
            httppost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));


          /*  String paramString = URLEncodedUtils.format(params, HTTP.UTF_8);
            String sampleurl = url + "" + paramString;
            Log.e("Request_Url", "" + sampleurl);*/

            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);
            if (response != null) {
                    InputStream in = response.getEntity().getContent();
                    response_string = WebAPIRequest.convertStreamToString(in);

            }
    } catch (Exception e) {
            e.printStackTrace();
    }

    return response_string;

and php side I am doing

<?php
$json_data=$_POST['contactdetails'];
$data=json_decode($json_data);
print_r($data);
?>

I am getting response

 Array
 (
   [0] => stdClass Object
    (
           [phone number] => 5555
           [username] => xfg
      )
 )

so how can I extract json data in php and insert in mysql

Upvotes: 2

Views: 4262

Answers (2)

Dehan Wjiesekara
Dehan Wjiesekara

Reputation: 3182

here is a sample code

I assume you know how to parse json from android. now in your server code use this to get the data from url and insert them to mysql

// check for required fields
 if (isset($_POST['location']) && isset($_POST['email']) && isset($_POST['lat']) &&     isset($_POST['longitude'])) {

$location = $_POST['location'];
$email = $_POST['email'];
$lat = $_POST['lat'];
$longitude = $_POST['longitude'];

require_once 'config.php';
// connecting to mysql
$con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
// selecting database
mysql_select_db(DB_DATABASE);

 // mysql inserting a new row
 $result = mysql_query("INSERT INTO marked_locations(location, email,lat,longitude) VALUES('$location', '$email', '$lat','$longitude')");
   .....
   ..

if you have any doughts or have need more help just comment

Upvotes: 0

Do somehting like this..

<?php
$json_data=$_POST['contactdetails'];
$data=json_decode($json_data, true); // Added true flag

// You can access your variables like this..
echo $data['phone number'];// prints "5555"
echo $data['username']; // prints "xfg"

//do your db connection...

// execute your query with those variables...

?>

Upvotes: 1

Related Questions