Java Android:使用';从MySQL获取数据;其中';条件

Java Android:使用';从MySQL获取数据;其中';条件,java,php,android,android-studio,mysqli,Java,Php,Android,Android Studio,Mysqli,我正在尝试使用where条件从MySQL数据库获取数据到我的android应用程序。我已经创建了一个获取数据的方法。此方法将所有数据作为单个列中的字符串数组提供给我。 看下面的方法: String adress = "http://myserver_link/get_data.php"; InputStream inputStream = null; String line = null, result = null, data[]; private void get_data(){

我正在尝试使用where条件从MySQL数据库获取数据到我的android应用程序。我已经创建了一个获取数据的方法。此方法将所有数据作为单个列中的字符串数组提供给我。 看下面的方法:

String adress = "http://myserver_link/get_data.php";
InputStream inputStream = null;
String line = null, result = null, data[];

private void get_data(){
    try {
        URL url = new URL(adress);
        HttpURLConnection httpsURLConnection = (HttpURLConnection) url.openConnection();
        httpsURLConnection.setRequestMethod("GET");

        inputStream = new BufferedInputStream(httpsURLConnection.getInputStream());

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    // read input stream into a string
    try{
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        StringBuilder stringBuilder = new StringBuilder();

        while ((line = bufferedReader.readLine()) != null){
            stringBuilder.append(line + "\n");
        }

        inputStream.close();
        result = stringBuilder.toString();
    }
    catch (Exception e) {
        e.printStackTrace();
    }

    // Parse json data
    try{
        JSONArray jsonArray = new JSONArray(result);
        JSONObject jsonObject = null;

        data = new String[jsonArray.length()];
        for (int i=0; i<jsonArray.length(); i++){
            jsonObject = jsonArray.getJSONObject(i);
            data[i] = jsonObject.getString("user_adress"); // column name
        }
    }
    catch (Exception e){
        e.printStackTrace();
    }
}
字符串地址=”http://myserver_link/get_data.php";
InputStream InputStream=null;
字符串行=null,结果=null,数据[];
私有void获取_数据(){
试一试{
URL=新的URL(地址);
HttpURLConnection httpsURLConnection=(HttpURLConnection)url.openConnection();
httpsURLConnection.setRequestMethod(“GET”);
inputStream=新的BufferedInputStream(httpsURLConnection.getInputStream());
}捕获(格式错误){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
//将输入流读入字符串
试一试{
BufferedReader BufferedReader=新的BufferedReader(新的InputStreamReader(inputStream));
StringBuilder StringBuilder=新的StringBuilder();
而((line=bufferedReader.readLine())!=null){
stringBuilder.append(行+“\n”);
}
inputStream.close();
结果=stringBuilder.toString();
}
捕获(例外e){
e、 printStackTrace();
}
//解析json数据
试一试{
JSONArray JSONArray=新JSONArray(结果);
JSONObject JSONObject=null;
数据=新字符串[jsonArray.length()];
对于(int i=0;i
现在我想编写我的get_data.php文件,如下面所示:

<?php 
require "conn.php";

$user_name = $_POST["username"];

$query = mysqli_query($conn, "select * from android_data where username='$user_name'");

if ($query) {
    while ($row = mysqli_fetch_array($query)) {
        $flag[] = $row;
    }
    print(json_encode($flag));
}

$conn->close();
 ?>

您可能应该将其作为URL上的参数发送

String adress = "http://myserver_link/get_data.php?username=xxxxx";
有一段时间没有使用Java,但您可以使用xxxxx的适当值创建此字符串

然后,它将作为
$\u GET[“username”]
而不是
$\u POST[“username”]
传入。因此只需替换这一行

$user_name = $_POST["username"];


或者您可以将请求方法更改为在Java代码中发布。

您还应该查看准备好的语句
$user_name = $_POST["username"];
$user_name = $_GET["username"];