Java PHP Post数组为空

Java PHP Post数组为空,java,php,Java,Php,当前无法访问服务器端脚本的$\u POST数组中的某些变量 上下文:我正在使用PHP从android设备向mySQL服务器提交一些值。 当我“创建新路由”时,php和java工作正常,例如: 构建要发布的变量列表: List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("name", name)); par

当前无法访问服务器端脚本的$\u POST数组中的某些变量

上下文:我正在使用PHP从android设备向mySQL服务器提交一些值。 当我“创建新路由”时,php和java工作正常,例如:

构建要发布的变量列表:

List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("name", name));
        params.add(new BasicNameValuePair("startLat", startLat));
        params.add(new BasicNameValuePair("startLong", startLong));
        params.add(new BasicNameValuePair("endLat", endLat));
        params.add(new BasicNameValuePair("endLong", endLong));
        params.add(new BasicNameValuePair("waypoints", waypoints.toString()));
        params.add(new BasicNameValuePair("rating", rating));
        params.add(new BasicNameValuePair("difficulty", difficulty));
        params.add(new BasicNameValuePair("enjoyability", enjoyability));
        params.add(new BasicNameValuePair("count", count));
        params.add(new BasicNameValuePair("sum", sum));
        params.add(new BasicNameValuePair("countDiff", countDiff));
        params.add(new BasicNameValuePair("sumDiff", sumDiff));
        params.add(new BasicNameValuePair("countEnjoy", countEnjoy));
        params.add(new BasicNameValuePair("sumEnjoy", sumEnjoy));
这可以很好地工作,并且这些值可用于$\u POST数组中的PHP脚本。 我遇到的问题是,当我使用以下方法执行完全相同的过程时(注意,在本例中,我正在“更新路由”,因此变量较少,这反映在用于更新路由的PHP脚本中):

            List<NameValuePair> params = new ArrayList<NameValuePair>();
            params.add(new BasicNameValuePair("name", name));
            params.add(new BasicNameValuePair("rating", Double.toString(currentRating)));
            params.add(new BasicNameValuePair("difficulty", Double.toString(currentDiff)));
            params.add(new BasicNameValuePair("enjoyability", Double.toString(currentEnjoy)));
            params.add(new BasicNameValuePair("count", Double.toString(currentCount)));
            params.add(new BasicNameValuePair("sum", Double.toString(currentSum)));
            params.add(new BasicNameValuePair("countDiff", Double.toString(currentDiffCount)));
            params.add(new BasicNameValuePair("sumDiff", Double.toString(currentDiffSum)));
            params.add(new BasicNameValuePair("countEnjoy", Double.toString(currentEnjoyCount)));
            params.add(new BasicNameValuePair("sumEnjoy", Double.toString(currentEnjoySum)));


            JSONObject jsonEdit = jsonParser.makeHttpRequest(url_edit,
                    "POST" +
                    "", params);
List params=new ArrayList();
参数添加(新的BasicNameValuePair(“名称”),名称);
参数add(新的BasicNameValuePair(“额定值”,双参数toString(电流额定值));
参数add(新的BasicNameValuePair(“难度”,Double.toString(currentDiff)));
参数add(新的BasicNameValuePair(“Enjoyibility”,Double.toString(CurrentPlease)));
params.add(新的BasicNameValuePair(“count”,Double.toString(currentCount)));
参数add(新的BasicNameValuePair(“sum”,Double.toString(currentSum));
添加参数(新的BasicNameValuePair(“countDiff”,Double.toString(currentDiffCount));
参数add(新的BasicNameValuePair(“sumDiff”,Double.toString(currentDiffSum));
添加参数(新的BasicNameValuePair(“CountPrevious”,Double.toString(currentEnjoyCount));
添加参数(新的BasicNameValuePair(“SumPrevious”,Double.toString(currentEnjoySum));
JSONObject jsonEdit=jsonParser.makeHttpRequest(url\u编辑,
“职位”+
“”,参数);

php脚本服务器端的$\u POST数组是空的。我意识到这可能有点模糊,但我希望您理解。我正在为两种方法发送数据的过程完全相同,但是后者是空的。

您有旧的
===
vs
equals
问题,添加了
字符串
interning

这就是罪魁祸首

if(method == "POST"){
应该是

if(method.equals("POST")){
第一种方法适用于普通字符串对象。与任何其他
“POST”
实例相比,任何
“POST”
实例的结果都是true(查找字符串内部以了解原因)。但是在后一种情况下,您会发现一些有趣的地方:

JSONObject jsonEdit = jsonParser.makeHttpRequest(url_edit,
                "POST" + //Ooooops, what is this?
                "", params);
现在比较
“POST”
==
“POST”+“
”…这不是按内容比较,而是按引用比较!第二个是不同的,比较结果为
false

JSONObject jsonEdit = jsonParser.makeHttpRequest(url_edit,
                "POST" + //Ooooops, what is this?
                "", params);