Android到PHP错误-未识别索引

Android到PHP错误-未识别索引,php,android,Php,Android,当通过android I向php服务器发送数据时,会出现以下错误:“注意:未定义的索引:在第4行的C:\xampp\htdocs\hello.php中”。经过几个小时的胡闹,我无法解决我的问题 hello.php: <?php mysql_connect("localhost","user","pass"); mysql_select_db("mmo"); $r=mysql_query("update players set X = '".$_REQUEST['IT']."' where

当通过android I向php服务器发送数据时,会出现以下错误:“注意:未定义的索引:在第4行的C:\xampp\htdocs\hello.php中”。经过几个小时的胡闹,我无法解决我的问题

hello.php:

<?php
mysql_connect("localhost","user","pass");
mysql_select_db("mmo");
$r=mysql_query("update players set X = '".$_REQUEST['IT']."' where 22=22");
if(!$r)
echo "Error in query: ".mysql_error();
mysql_close();
header('Refresh: 0.01; URL=http://localhost/hello.php');
?>

android中的更新方法:

public void UpdateSeverWithPlayer()
{List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
nameValuePairs.add(new BasicNameValuePair("IT","3"));
try{
     HttpClient httpclient = new DefaultHttpClient();
     HttpPost httppost = new HttpPost("http://10.0.2.2/hello.php");
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

     HttpResponse response = httpclient.execute(httppost);
     HttpEntity entity = response.getEntity();
     is = entity.getContent();
     }catch(Exception e){
         Log.e("log_tag", "Error in http connection"+e.toString());
    }}
public void UpdateSeverWithPlayer()
{List nameValuePairs=new ArrayList();
添加(新的BasicNameValuePair(“IT”,“3”));
试一试{
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://10.0.2.2/hello.php");
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
is=entity.getContent();
}捕获(例外e){
e(“Log_标记”,“http连接错误”+e.toString());
}}
我正在安卓模拟器上工作,并且确实拥有互联网许可。一如既往,非常感谢您的帮助。
编辑1:问题似乎出在android中,而不是php代码中。

您没有以某种方式正确发送查询字符串,因此php端没有
$\u请求['It']
。执行
var\u转储($\u请求)
以查看发生了什么。或者更好的是,不要使用$\u请求。这有点不安全。最好使用与您的HTTP方法直接相关的超全局方法,\u GET或\u POST


另外,
刷新
标题也是非标准的。它会有用的,但你不应该依赖它。HTTP级别的重定向使用Location:header。刷新:是一个非标准的老式Netscape扩展。

您没有以某种方式正确发送查询字符串,因此PHP端没有
$\u请求['IT']
。执行
var\u转储($\u请求)
以查看发生了什么。或者更好的是,不要使用$\u请求。这有点不安全。最好使用与您的HTTP方法直接相关的超全局方法,\u GET或\u POST


另外,
刷新
标题也是非标准的。它会有用的,但你不应该依赖它。HTTP级别的重定向使用Location:header。刷新:是一个非标准的老式Netscape扩展。

请尝试打印($\u POST)以查看您发布的内容。(注意:使用$\u POST而不是$\u REQUEST,因为这样更安全-您也应该在有机会时检查函数mysql\u real\u escape\u string()))嗨,似乎print\r($\u POST)返回数组(),感谢大家查看您发布的内容。(注意:使用$\u POST而不是$\u REQUEST,因为这样更安全-你也应该在有机会的时候检查函数mysql\u real\u escape\u string()))嗨,看起来print\r($\u POST)返回数组(),感谢大家查找var\u dump($\u REQUEST)返回数组(0){}那么你就没有被发送的查询参数/表单值了,这意味着错误是android-side。不知道,我不是android开发人员。我会投票支持帮助,但我会等到解决问题后再接受。谢谢。var_dump($_REQUEST)返回数组(0){},那么您没有收到任何查询参数/表单值,这意味着错误是android端的。不知道,我不是android开发人员。我会投票寻求帮助,但我会等到解决问题后再接受。非常感谢。