我正在发送api请求通过Reformation2到mysql数据库获取数据,但正在发送一个字符串中的类别与api请求,以检查我的数据是否可用,根据该类别。如果php脚本中的条件和给我的catid是空的,请检查我的代码。我给了catid,如果条件和给catid为空,为什么它会通过呢?
注意:如果我把catid硬代码给php脚本,它会根据这个类别给出结果。我认为在发布catid与api请求有问题。请指导我
@GET("fetchtext.php")
Call<ArrayList<DataStored>> savePost(@Query("catId") String catId);
我正在向服务器发送请求:
mAPIService.savePost(category).enqueue(new Callback<ArrayList<DataStored>>() {
@Override
public void onResponse(Call<ArrayList<DataStored>> call, Response<ArrayList<DataStored>> response) {
Log.d(TAG, "onResponse: 2"+response.body());
arrayList= response.body();
myRecyclerAdapter.addItems(arrayList);
}
@Override
public void onFailure(Call<ArrayList<DataStored>> call, Throwable t) {
Log.d(TAG, "onFailure: 2"+t.getMessage());
}
});
我的php脚本:
<?php
$db_name="discount";
$mysql_username="root";
$mysql_password="nwpas";
$server_name="localhost";
$con=mysqli_connect($server_name,$mysql_username,$mysql_password,$db_name);
$catid=$_POST["catId"];
if(empty($catid)){
echo "catid is null";
}
else{
$sql = "SELECT branchName,brands.brandsName
FROM branch Inner Join brands on branch.brandsID=brands.brandsID WHERE brands.catID=$catid" ;
$r = mysqli_query($con,$sql);
$result = array();
if (!$r) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
while($row = mysqli_fetch_array($r)){
array_push($result,array(
'brancname'=>$row['branchName'],
'brandsNae'=>$row['brandsName']
));
}
echo json_encode($result);
mysqli_close($con);
}
?>
1条答案
按热度按时间pdkcd3nj1#
既然你在做一个
GET
请求使用改型更改php代码以接受GET
参数。当前您的代码配置为发送GET
请求来自android
但是在php
结束你接受一个POST
请求在php代码中,更改
到
或者,如果您不希望更改php端,那么可以使用
@POST
然后通过catId
体内