Android无法将数据插入到Mysql数据库中但数据插入到logcat中

时间:2015-02-24 04:59:44

标签: java android xml json

<?php
$con=mysqli_connect("localhost","root","","cleanindia");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// escape variables for security

$landmark = mysqli_real_escape_string($con, $_POST['landmark']);
$description = mysqli_real_escape_string($con, $_POST['description']);
$phonenumber= mysqli_real_escape_string($con, $_POST['phonenumber']);
$simnumber= mysqli_real_escape_string($con, $_POST['simnumber']);
$imeinumber= mysqli_real_escape_string($con, $_POST['imeinumber']);
$latitude= mysqli_real_escape_string($con, $_POST['latitude']);




$sql="INSERT INTO details (land_mark, descrip, phonenum, sim, imei, lati)
VALUES ('$landmark', '$description', '$phonenumber', '$simnumber', '$imeinumber', '$latitude')";

/*$sql="INSERT INTO details (land_mark, descrip, phonenum, sim, imei)
VALUES ('abc', 'demo', '9876543210', '01234567890', '954756221102')";*/


$data = "Select * from details";
$datacount = mysqli_query($con,$data);
if (!mysqli_query($con,$data )) {
  die('Error: ' . mysqli_error($con));
}
echo $data1 = mysqli_num_rows($datacount);


mysqli_close($con);
?>

我有一个代码,我需要将编辑文本值发送到服务器。但没有问题。但是当我将数据发布到服务器时,它不会在server.it中更新。只是在logcat中更新。所以请帮助我。谢谢

import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpVersion;
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.BasicResponseHandler;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.CoreProtocolPNames;
import org.apache.http.params.HttpParams;

import com.igibpo.cleanindia.Details;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class Details extends Activity {

    HttpClient httpclient;
    HttpPost httppost;
    EditText lmark, des;
    String result;
    Button Submit;
    ProgressDialog pDialog;
    String geted1, geted2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.details);

        lmark = (EditText) findViewById(R.id.landmark);
        des = (EditText) findViewById(R.id.description);
        Submit = (Button) findViewById(R.id.button1);
        httppost = new HttpPost("server");
        Submit.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                geted1 = lmark.getText().toString();
                geted2 = des.getText().toString();
                Log.i("LandMark", geted1);
                Log.i("Description", geted2);
                new getresult().execute();
            }
        });
    }

    public class getresult extends AsyncTask<Void, Void, Void> {

        protected void onPreExecute() {
            super.onPreExecute();
            pDialog = new ProgressDialog(Details.this);
            pDialog.setMessage("Inserting Data....");
            pDialog.setIndeterminate(false);
            pDialog.setCancelable(true);
            pDialog.show();

        }

        @Override
        protected Void doInBackground(Void... arg0) {
            // TODO Auto-generated method stub
            try {
                HttpParams params = new BasicHttpParams();
                params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1);
                httpclient = new DefaultHttpClient(params);
                List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
                nameValuePairs.add(new BasicNameValuePair("landmark", geted1));
                nameValuePairs.add(new BasicNameValuePair("description", geted2));
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs,"utf-8"));
                result = httpclient.execute(httppost,new BasicResponseHandler());

            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
                Log.e("Exception", e.toString());
            }
            return null;
        }
        protected void onPostExecute(String result) {
            // dismiss the dialog once done
            pDialog.dismiss();

    }   

    }

}

1 个答案:

答案 0 :(得分:0)

使用mysql语句在您的代码中,不要忘记关闭语句Connections实例。正确关闭它们,然后只有更改将保存在您的数据库中。

UPDATE:

使用以下代码使用jdbc语句将数据插入服务器数据库

try{
 Connection con=DriverManager.getConnection(dburl,dbuname,dbpass);
 Statement stmt=con.createStatement();
 stmt.executeUpdate("write insert statement here");

 //close the connection here
  con.close();
  stmt.close(); 

 }catch(Exception e){
   //write console statement here
 }