-1

我正在尝试在 mysql 数据库中插入纬度和经度值,但它显示以下错误

  1. http 连接 org.apache.http.conn.HttpHostConnectException 出错:连接到 * http://localhost被拒绝*

    //My main.java code is :
    
    public void insertdata()
    {
    ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
     nameValuePairs.add(new BasicNameValuePair("Lat","34"));
    nameValuePairs.add(new BasicNameValuePair("Lon","72"));
    
    //http post
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new      
       HttpPost("http://localhost/androidconnection/insertdata.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        InputStream is = entity.getContent();
        Log.i("postData", response.getStatusLine().toString());
    }
    
    catch(Exception e)
    {
        Log.e("log_tag", "Error in http connection "+e.toString());
    }           
    

    }

    //在服务器端我的php插入代码是“insertdata.php”

     <?php
        mysql_connect("localhost","root","");
         mysql_select_db("PeopleData");
       //retrieve the data
       $lat = $_POST['lat'];
      $lon = $_POST['lon'];
    
      $sql = "INSERT INTO coords (Lat, Lon) VALUES('$lat', '$lon')";
    
           if (!mysql_query($sql, $sqlCon))
        {
            die('Error: ' . mysql_error());
         }
       else
        {
          //echo "1 record added";
           }
    
                ?>
    
4

2 回答 2

1

localhost指当前运行代码的机器,在本例中是 Android 手机(或模拟器)。为了从android模拟器访问主机,您可以使用ip地址:10.0.2.2

更改您的网址,如下所示:

该行HttpPost("http://localhost/androidconnection/insertdata.php"); 应如下所示:HttpPost("http://10.0.2.2/androidconnection/insertdata.php");

于 2012-12-15T08:24:33.450 回答
0

尝试转换

localhost

和你的

web server IP Address.

这里,HttpPost("http://localhost/androidconnection/insertdata.php");

还要确保您Internet在清单文件中添加了权限。

<uses-permission android:name="android.permission.INTERNET" />

希望它可以帮助你。

谢谢。

于 2012-12-15T08:19:26.240 回答