如何从android插入数据到wamp phpmyadmin?

时间:2014-11-25 09:16:21

标签: php android phpmyadmin wamp

这段代码出了什么问题。请帮助我......注册时插入数据应该怎么做

<?php
    $host='127.0.0.1';
    $uname='root';
    $pwd='root';
    $db="android";

    $con = mysql_connect($host,$uname,$pwd) or die("connection failed");
    mysql_select_db($db,$con) or die("db selection failed");

    $id=$_REQUEST['id'];
    $name=$_REQUEST['name'];

    $flag['code']=0;

    if($r=mysql_query("insert into sample values('$id','$name') ",$con))
    {
        $flag['code']=1;
        echo"hi";
    }

    print(json_encode($flag));
    mysql_close($con);
?>

我对main_activity.java的实际代码

package com.example.neww;


import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
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 org.json.JSONObject;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

    String name;
    String id;
    InputStream is=null;
    String result=null;
    String line=null;
    int code;
    private static String url="http://10.0.2.2/new.php";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final EditText e_id=(EditText) findViewById(R.id.editText1);
        final EditText e_name=(EditText) findViewById(R.id.editText2);
        Button insert=(Button) findViewById(R.id.button1);

        insert.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            id = e_id.getText().toString();
            name = e_name.getText().toString();

            insert();
        }
    });
    }

    public void insert()
    {
        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();

    nameValuePairs.add(new BasicNameValuePair("id",id));
    nameValuePairs.add(new BasicNameValuePair("name",name));

        try
        {
        HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(url);
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost); 
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
            Log.e("pass 1", "connection success ");
    }
        catch(Exception e)
    {
            Log.e("Fail 1", e.toString());
            Toast.makeText(getApplicationContext(), "Invalid IP Address",
            Toast.LENGTH_LONG).show();
    }     

        try
        {
            BufferedReader reader = new BufferedReader
            (new InputStreamReader(is,"iso-8859-1"),8);
            StringBuilder sb = new StringBuilder();
            while ((line = reader.readLine()) != null)
        {
                sb.append(line + "\n");
            }
            is.close();
            result = sb.toString();
        Log.e("pass 2", "connection success ");
    }
        catch(Exception e)
    {
            Log.e("Fail 2", e.toString());
    }     

    try
    {
            JSONObject json_data = new JSONObject(result);
            code=(json_data.getInt("code"));

            if(code==1)
            {
        Toast.makeText(getBaseContext(), "Inserted Successfully",
            Toast.LENGTH_SHORT).show();
            }
            else
            {
         Toast.makeText(getBaseContext(), "Sorry, Try Again",
            Toast.LENGTH_LONG).show();
            }
    }
    catch(Exception e)
    {
            Log.e("Fail 3", e.toString());
    }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }    
}

但是没有在phpmyadmin上存储数据。但是当我在localhost中运行时,即localhost / new.php它存储在phpmyadmin中......问题出在哪里? ...

1 个答案:

答案 0 :(得分:0)

您应该使用此 PHP脚本。     

$con = mysql_connect($host,$uname,$pwd) or die("connection failed");
mysql_select_db($db,$con) or die("db selection failed");

$id=$_REQUEST['id'];
$name=$_REQUEST['name'];
$result = mysql_query(" insert into sample(ur_database_id,ur_database_name)   values('$id','$name')"  );
if($result == 1)
{
    // successfully inserted
    $response["success"] = 1;
    $response["message"] = "Product successfully created.";

    // echoing JSON response
    echo json_encode($response);
}
else
{
    // failed to insert row
    $response["success"] = 0;
    $response["message"] = "Oops! An error occurred.";

    // echoing JSON response
    echo json_encode($response);

}

&GT;

我相信它会对你有所帮助。再次检查配置设置和数据库连接,字段。

- &GT;这是我的java代码,用于插入记录,使用我在

之后使用的异步任务
public class SendInquiry extends AsyncTask<String,String,String>
{

    @Override
    protected String doInBackground(String... args) 
    {

        // Building Parameters

        List<NameValuePair> params = new ArrayList<NameValuePair>();

        params.add(new BasicNameValuePair("id",ur_editext_id));

        params.add(new BasicNameValuePair("name",ur_edittext_name));


        // getting JSON string from URL
        JSONObject json = jsonParser.makeHttpRequest(url_send_message, "GET", params);

        Log.i("send message", json.toString());

        try 
        {
            // Checking for SUCCESS TAG

            success = json.getInt("success");


        } 
        catch (JSONException e) 
        {
            // TODO: handle exception
            e.printStackTrace();
        }

        return null;

    } // doinbackground ends


    @Override
    protected void onPostExecute(String file_url) 
    {

              Toast myToast = Toast.makeText(context, "Data has been saved", 10);
              myToast.setGravity(Gravity.CENTER_HORIZONTAL, 0, 0);
              myToast.show();   


    }

} // update status of product auction over

并按原样使用此JSONParser类,将此java文件导入包中并使用它

JSONParser.java