Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将应用程序与PHP和mysql连接_Php_Android - Fatal编程技术网

将应用程序与PHP和mysql连接

将应用程序与PHP和mysql连接,php,android,Php,Android,我试图通过一个简单的PHP代码访问数据库。但限制条件是它是一个远程数据库,由远程服务器从真实设备访问 以下是代码片段:- ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>(); postParameters.add(new BasicNameValuePair("username", un.getText().toString()));

我试图通过一个简单的PHP代码访问数据库。但限制条件是它是一个远程数据库,由远程服务器从真实设备访问

以下是代码片段:-

ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
            postParameters.add(new BasicNameValuePair("username", un.getText().toString()));
            postParameters.add(new BasicNameValuePair("password", pw.getText().toString()));
            String response = null;
            try {
                response = CustomHttpClient.executeHttpPost("http://WebsiteName.com/check.php", postParameters);
                String res=response.toString();

                res= res.replaceAll("\\s+","");                              

               if(res.equals("1"))
                    error.setText("Correct Username or Password");
                else
                    error.setText("Sorry!! Incorrect Username or Password"); 
            } catch (Exception e) {
                un.setText(e.toString());
            }
ArrayList后参数=新的ArrayList();
添加(新的BasicNameValuePair(“用户名”,un.getText().toString());
添加(新的BasicNameValuePair(“密码”,pw.getText().toString());
字符串响应=null;
试一试{
响应=CustomHttpClient.executeHttpPost(“http://WebsiteName.com/check.php“,后参数);
String res=response.toString();
res=res.replaceAll(“\\s+”,”);
如果(相对等于(“1”))
错误.setText(“正确的用户名或密码”);
其他的
error.setText(“对不起!!用户名或密码不正确”);
}捕获(例外e){
un.setText(例如toString());
}
PHP是。PHP代码很可能没有问题,因为它在本地工作

我想澄清的最重要的事情之一是在服务器中保存PHP代码的位置。我把它直接放在根目录下。当我从浏览器执行它时(比如键入website.com/check.php),我会得到所需的响应。 不幸的是,许多在这方面做过指导的人提到了本地服务器和本地数据库,而不是远程服务器和数据库。我还需要做些什么才能用真正的设备完成它

PS:当使用本地Web服务器连接到模拟器和本地数据库时,该应用程序工作正常

==更新===


我很确定电话没有联系网络服务器。我通过让Web服务器总是给出肯定的响应进行验证,这也失败了。关于我应该去哪里看有什么提示吗?除了在线服务器之外,我想不出其他任何东西……它正在工作(从浏览器中检查时)。有没有交叉核对的方法?谢谢。

这可能是您面临的问题的原因,也可能不是,但您必须以任何方式解决它

您当前正在同步发出POST请求。这意味着,只要POST请求正在执行且设备正在等待响应,手机和UI就会被锁定。这不仅会造成糟糕的用户体验,如果您锁定UI线程超过一定时间,Android会认为应用程序已经崩溃

也许这就是当您在本地发出请求时它工作的原因,因为对本地Web服务器的POST请求将比远程Web服务器更快


要异步发出HTTP请求,请查看Android,这可能是您面临的问题的原因,也可能不是,但您必须以任何方式解决它

您当前正在同步发出POST请求。这意味着,只要POST请求正在执行且设备正在等待响应,手机和UI就会被锁定。这不仅会造成糟糕的用户体验,如果您锁定UI线程超过一定时间,Android会认为应用程序已经崩溃

也许这就是当您在本地发出请求时它工作的原因,因为对本地Web服务器的POST请求将比远程Web服务器更快


要异步发出HTTP请求,请查看Android

到底是什么问题,我不太清楚问题是它不能与手机一起工作。我想修正代码在手机上运行。坦率地说,我看不出错误到底在哪里。我把它贴在这里是为了知道我是否做错了什么。@gkris:当你说它不起作用时,会发生什么?应用程序崩溃了,你得到了意外的响应,还是只是默默地失败了?@xbonez:我总是得到错误的响应。应用程序应该检查数据库中的2个字段,如果用户输入与数据库条目匹配,则会给出肯定的响应。因此,到底是什么问题,我不太清楚问题是它不能与手机一起工作。我想修正代码在手机上运行。坦率地说,我看不出错误到底在哪里。我把它贴在这里是为了知道我是否做错了什么。@gkris:当你说它不起作用时,会发生什么?应用程序崩溃了,你得到了意外的响应,还是只是默默地失败了?@xbonez:我总是得到错误的响应。应用程序应该检查数据库中的2个字段,如果用户输入与数据库条目匹配,则会给出肯定的响应。噢,非常感谢您的建议。我确实收到一个请求超时错误与手机有时,这将是它的原因。我将尽快尝试执行异步任务。再次感谢。哦,非常感谢你的建议。我确实收到一个请求超时错误与手机有时,这将是它的原因。我将尽快尝试执行异步任务。再次感谢。