2012-12-07 14 views
5

मैं एंड्रॉइड एप्लिकेशन से एक साधारण डालने की कोशिश कर रहा हूं। मैं ?entry="Sample value from browser" को जोड़कर ब्राउज़र से php स्क्रिप्ट चला सकता हूं, लेकिन जब मैं एंड्रॉइड से एप्लिकेशन चलाता हूं, तो मुझे कोई सम्मिलित नहीं होता है।एंड्रॉइड वीएमडी MySQL डालें और संवाद दिखा रहा है

वह स्थान है जहां मैं डालने वर्ग JSON का उपयोग करता है और AsyncTask लागू करता है कि बोल रहा हूँ:

<?php 
    // mysql_connect("host","username","password"); 
    mysql_connect("localhost","user1","mypassword"); 
    mysql_select_db("test"); 

    $entry_value = $_REQUEST["entry"]; 
    $query = "INSERT INTO patientdata (entry) values (".$entry_value.");"; 
    if(!mysql_query($query)) { 
     /*insert failed*/ 
    } 

    mysql_close(); 
?> 

फिर, यह पूरी तरह से काम करता है अगर मैं इसे कहते हैं:

package us.jtaylorok.android.sqlite.first; 

import java.util.ArrayList; 

import org.apache.http.HttpResponse; 
import org.apache.http.NameValuePair; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.message.BasicNameValuePair; 

import android.app.ProgressDialog; 
import android.content.Context; 
import android.os.AsyncTask; 
import android.util.Log; 
import android.widget.Toast; 

public class RemoteInsert extends AsyncTask<Void, String,String >{ 

    protected String TAG; 
    protected Context context; 
    protected String input; 
    protected ProgressDialog progressDialog; 

    public RemoteInsert(String i,Context c){ 
     this.input = i; 
     this.context = c; 
    } 


    protected void onPreExecute() { 
     //ProgressDialog progressDialog; // = new ProgressDialog(context); 

     //progressDialog=ProgressDialog.show(,"Please Wait..","Sending data to database", false); 
     progressDialog=ProgressDialog.show(context,"Please Wait..","Sending data to database", false); 
    } 

    @Override 
    protected String doInBackground(Void... params) { 
     try { 
      HttpClient httpclient = new DefaultHttpClient(); 
      //HttpPost httppost = new HttpPost("http://localhost/index.php"); 
      //HttpPost httppost = new HttpPost("http://10.253.8.88/patient_data/patient_data.php"); 
      HttpPost httppost = new HttpPost("http://10.100.205.72/patient_data/patient_data.php"); 

      ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>(); 
      postParameters.add(new BasicNameValuePair("entry", "Input from Android")); 

      httppost.setEntity(new UrlEncodedFormEntity(postParameters));     
      HttpResponse response = httpclient.execute(httppost); 
      Log.i("postData", response.getStatusLine().toString()); 
     } catch(Exception e) { 
      Log.e(TAG, "Error: "+e.toString()); 
     } 

     return ""; 
    } 

    protected void onPostExecute(String result) { 
     progressDialog.dismiss(); 
     Toast.makeText(context, "Finished", Toast.LENGTH_LONG).show(); 
    } 
} 

और यहाँ मेरे PHP स्क्रिप्ट है ब्राउज़र से, लेकिन AsyncTask को लागू करने से पहले यह एक अपवाद फेंकता है।

मैं AVD ऐड प्रदर्शित करने और दूर करने के लिए मिलता है, लेकिन जब मैं अपने apache2access_log या error_log में कोई अनुरोध है कि वहाँ है। कोई सुझाव?

+0

में एक जादू उद्धरण सेटिंग था, जब मैंने उपयोगकर्ता 1 को विशेषाधिकार दिए थे, तो इसे स्थानीयहोस्ट के अलावा किसी अन्य चीज़ से होना चाहिए। मैं $ _REQUEST से मान प्राप्त करने में सक्षम था और उन्हें एक टेक्स्ट फ़ाइल में लिख सकता था, इसलिए या तो mysql_query फ़ंक्शन flaky है जो मुझे लगता है कि मैंने पढ़ा है कि मैंने इसे पढ़ा है या उपयोगकर्ता 1 @ localhost विशेषाधिकार समस्या से आने पर कोई समस्या है एंड्रॉयड। मैं इसे एंड्रॉइड में ब्राउज़र से php फ़ाइल चलाने से भी काम करने के लिए प्राप्त कर सकता हूं। तो किसी भी सुझाव का स्वागत किया जाएगा। –

+0

मेरे php.ini –

उत्तर

0

मुझे लगता है कि आपने स्थानीय सर्वर पर PHP स्क्रिप्ट संग्रहीत की है। तो इस मशीन के आईपी पते के बजाय HttpPost प्रारंभ करते समय इस 10.0.2.2 का उपयोग करें। एंड्रॉइड वर्चुअल डिवाइस में इसके स्थानीयहोस्ट समकक्ष।

0

यह विशेष समस्या के लिए मुद्दा नहीं था। यह मुद्दा php.ini

+0

में कॉन्फ़िगरेशन समस्या हल हो गई है अपने स्वयं के प्रश्नों का उत्तर देना बिल्कुल अच्छा है। हालांकि, यह उत्तर यह समझने के लिए पर्याप्त विवरण प्रदान नहीं करता है कि क्या हो रहा था और आपने इसे कैसे ठीक किया। कृपया अपने उत्तर में अधिक जानकारी जोड़ने पर विचार करें। – dasblinkenlight

संबंधित मुद्दे