Java 如何从php中获得结果?
DB中有一些值,我正在创建一个搜索函数Java 如何从php中获得结果?,java,php,android,Java,Php,Android,DB中有一些值,我正在创建一个搜索函数 <?php require_once 'conn.php'; if(isset($_GET['name'])) { $name = $_GET['name']; $query = "SELECT `NAME`, AGE, `ADDRESS` FROM test WHERE `NAME` = '$name'"; $result = mysqli_query($conn, $query); $re
<?php
require_once 'conn.php';
if(isset($_GET['name'])) {
$name = $_GET['name'];
$query = "SELECT `NAME`, AGE, `ADDRESS` FROM test WHERE `NAME` = '$name'";
$result = mysqli_query($conn, $query);
$response = array();
while($row = mysqli_fetch_array($result)) {
array_push(
$response, array(
'name'=>$row['NAME'],
'age'=>$row['AGE'],
'address'=>$row['ADDRESS'])
);
}
if(count($response) == 0) {
$res = 'Empty Result';
echo $res;
} else {
echo json_encode($response);
}
}
mysqli_close($conn);
?>
但是如果我现在运行代码,com.google.gson.stream.MalformedJsonException:使用JsonReader.setLenient(true)在第1行第1列路径$
处接受格式错误的JSON
如何在Android中获得空结果
++添加我的POJO
public class Person {
@SerializedName("name") private String name;
@SerializedName("age") private int age;
@SerializedName("address") private String address;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
这是因为该值不能被解析为JSON。 您可以使用json的统一返回格式
if(count($response) == 0) {
echo json_encode([
"result" => "Empty Result",
"data" => $response
]);
} else {
echo json_encode([
"result" => "Has rows",
"data" => $response
]);
}
在你的android解析中,用JSON格式解析
response.body()
。你能试试echo JSON\u encode($res)代码>谢谢。但是有一个错误java.lang.IllegalStateException:应为BEGIN_数组,但在第1行第2列路径处为字符串$
我将另外上载POJO。警告:您对POJO持开放态度,应使用参数化准备语句,而不是手动生成查询。它们由或提供。永远不要相信任何形式的输入!即使您的查询仅由受信任的用户执行。谢谢,但是有个错误java.lang.IllegalStateException:应为BEGIN_数组,但在第1行第2列路径$
处为BEGIN_对象,我是否必须更改POJO才能应用它?
if(count($response) == 0) {
echo json_encode([
"result" => "Empty Result",
"data" => $response
]);
} else {
echo json_encode([
"result" => "Has rows",
"data" => $response
]);
}