从android程序写入localhost phpmyadmin

时间:2018-01-04 22:20:37

标签: java php android mysql phpmyadmin

我已经解决了这个问题2天了,但仍然没有。

这是我在主要活动中使用的代码:

   public void InsertData(final String name, final String email){

        class SendPostReqAsyncTask extends AsyncTask<String, Void, String> {
            @Override
            protected String doInBackground(String... params) {

                String postReceiverUrl = "http://192.168.1.71/insert_data.php";
                Log.d("Hello", "postURL: " + postReceiverUrl);


                String NameHolder = name ;
                String EmailHolder = email ;

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

                nameValuePairs.add(new BasicNameValuePair("name", NameHolder));
                nameValuePairs.add(new BasicNameValuePair("email", EmailHolder));

                try {
                    HttpClient httpClient = new DefaultHttpClient();

                    HttpPost httpPost = new HttpPost(postReceiverUrl);

                    httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

                    HttpResponse httpResponse = httpClient.execute(httpPost);

                    HttpEntity httpEntity = httpResponse.getEntity();

                    Log.d("come on man", "it works");

                } catch (ClientProtocolException e) {

                } catch (IOException e) {

                }
                return "Data Inserted Successfully";
            }

当我在我的模拟器中运行此代码时,它可以工作,但是当我将它上传到我的三星S3手机时,它不起作用。数据不会被推送。

这是我的insert_data.php

<?php

$hostname = "localhost";
$username = "-";
$password = "-";
$dbname = "test";

 $con = mysqli_connect($hostname,$username,$password,$dbname);

 $name = $_POST['name'];
 $email = $_POST['email'];                             
 $Sql_Query = "insert into GetDataTable (name,email) values ('$name','$email')";

 if(mysqli_query($con,$Sql_Query)){

 echo 'Data Submit Successfully';

 }
 else{

 echo 'Try Again';

 }
 mysqli_close($con);
?>

我想知道为什么这段代码在我的手机上不起作用。我也尝试在我的PHP文件中使用我的localhost IP地址而不是localhost,但它仍然没有用。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题。

我必须转到Apache httpd.conf的配置文件。 你必须搜索看起来像这样的行:

我自己添加了第192和193行,它们一开始并不存在,这就是解决问题的方法。

特别感谢@SISYN暗示我“我的第一个猜测是你的数据库默认不允许外部连接”。