我正在使用Volley编写一个简单的Android应用程序.我想知道如何通过ID从MySQL数据库中选择名字和姓氏,用户在应用程序中输入editText.这是我的PHP脚本:?phpinclude connection.php;global $connect;$id = $_POST[...

我正在使用Volley编写一个简单的Android应用程序.我想知道如何通过ID从MySQL数据库中选择名字和姓氏,用户在应用程序中输入editText.这是我的PHP脚本:
<?php
include 'connection.php';
global $connect;
$id = $_POST["id"];
$query = "SELECT firstName, lastName FROM users WHERE id = '$id'";
$result = mysqli_query($connect, $query);
$number_of_rows = mysqli_num_rows($result);
$response = array();
if($number_of_rows > 0) {
while($row = mysqli_fetch_assoc($result)) {
$response[] = $row;
}
}
header('Content-Type: application/json');
echo json_encode(array("users"=>$response));
mysqli_close($connect);
?>
如果我在代码中指定了ID,它会返回我要求的JSON数据,因此脚本和数据库都可以.我得到的$id = 1的响应是:
{"users":[{"firstName":"Jonash","lastName":"Corvin"}]}
这是我的StringRequest代码:
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONArray jsonArray = new JSONArray(response);
JSONObject jsonObject = jsonArray.getJSONObject(0);
String firstName = jsonObject.getString("firstName");
String lastName = jsonObject.getString("lastName");
firstNameTV.setText(firstName);
lastNameTV.setText(lastName);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void one rrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, "Something went wrong",Toast.LENGTH_LONG).show();
error.printStackTrace();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> parameters = new HashMap<String, String>();
parameters.put("id", idEditText.getText().toString());
return parameters;
}
};
queue.add(stringRequest);
不幸的是,它没有做任何事情……它甚至没有显示任何错误或Toast消息.你知道怎么解决吗?
解决方法:
{“users”:[{“firstName”:”Jonash”,”lastName”:”Corvin”}]}
根据给定的JSON,您需要解析JSON,如下所示:
JSONObject jsonobject = new JSONObject(response);
JSONArray jsonarray = jsonobject.getJSONArray("users");
JSONObject data = jsonArray.getJSONObject(0);
String firstName = data.getString("firstName");
String lastName = data.getString("lastName");
织梦狗教程
本文标题为:java – Android Volley:用户指定的id从MySQL数据库中选择数据


基础教程推荐
猜你喜欢
- java – LiquiBase – 将更改log sql输出到2.0.5中的文件的任何方法? 2023-11-02
- Spring Security 过滤器注册脉络梳理 2023-04-11
- idea maven 经常主目录自动变回默认的解决方法 2023-03-22
- JSP页面间传值问题实例简析 2023-08-03
- SpringBoot如何对LocalDateTime进行格式化并解析 2023-02-11
- mybatisPlus条件构造器常用方法小结 2023-06-17
- Android通过蓝牙发送数据到Windows PC电脑:Java实现 2023-09-01
- 深入了解Java中的过滤器Filter和监听器Listener 2023-02-05
- Spring Boot中的max-http-header-size配置方式 2023-06-05
- JAVA学习进阶篇之时间与日期相关类 2023-05-08