Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/352.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
使用java(android)在php中动态更改mysql查询_Java_Php_Android_Mysql_Dynamic - Fatal编程技术网

使用java(android)在php中动态更改mysql查询

使用java(android)在php中动态更改mysql查询,java,php,android,mysql,dynamic,Java,Php,Android,Mysql,Dynamic,我在java/android应用程序中使用MySQL数据库和php。 我对php没有任何经验 这是我的php文件(getAllDataFromSomeTable.php) 我用Java处理HttpPosts之类的东西。 这样我就可以从“sometable”中获取所有数据 但是如果我想使用不同的查询,比如“从某个表中选择TOP1,其中username='thisuser'”。我如何在java中动态地更改它? 我的php文件应该是什么样子,java中的代码应该是什么样子? 这是我现在拥有的代码:

我在java/android应用程序中使用MySQL数据库和php。 我对php没有任何经验

这是我的php文件(getAllDataFromSomeTable.php)


我用Java处理HttpPosts之类的东西。 这样我就可以从“sometable”中获取所有数据

但是如果我想使用不同的查询,比如“从某个表中选择TOP1,其中username='thisuser'”。我如何在java中动态地更改它? 我的php文件应该是什么样子,java中的代码应该是什么样子? 这是我现在拥有的代码:

String result = "";
    List<? extends NameValuePair> licenses = (List<? extends NameValuePair>) new ArrayList<DriversLicense>();
    InputStream is = null;
    try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httpPost = new HttpPost("http://some-url.com/getAllDataFromSomeTable.php");
        httpPost.setEntity(new UrlEncodedFormEntity(licenses));
        HttpResponse response = httpclient.execute(httpPost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();
    }catch(Exception e){
        Log.d("httpclient tag", e.getMessage());
    }

    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
                sb.append(line + "\n");
        }
        is.close();

        result=sb.toString();
        Log.d("result is", result);
    }catch(Exception e){
         Log.d("log-tag", "Error converting result "+e.toString());
    }

    try{
        JSONArray jArray = new JSONArray(result);
        for(int i=0;i<jArray.length();i++){
                JSONObject json_data = jArray.getJSONObject(i);
                Log.d("from jsonObject", "id= " + json_data.getInt("Id") + ", number = "
                        +json_data.getString("Number"));
        }
    }catch(JSONException e){
            Log.e("log_tag", "Error parsing data "+e.toString());
    }
字符串结果=”;

List为什么不尝试向请求添加参数

例如:

这样,您需要解析这些参数,并基于传递的数据构建查询。 我认为上述请求将提出以下问题:

select * from difftable where username = 'xyz' and surname ='Smith'

另一方面,这就是Web服务的用途,所以如果可能的话,我会考虑这样做。

谢谢,我会尝试一下,它可能会这样工作,但正如我所说,我在Web服务或php:p tnx方面没有快速响应的经验。但是我应该如何在php文件中编写查询呢?我是否可以在其中放入类似“$query”的内容,而不是java“someurl.com/getda…table.php”中的内容?query=“+queryString;是的,那是可能的。然后在php中,您可以使用以下命令获取url的查询参数:$\u get['query']我不确定是否考虑过安全性问题,如果有人发现了这个url,那么您的数据库可能很容易过载或其他问题。
select * from difftable where username = 'xyz' and surname ='Smith'