Я отправляю запрос Api через Retrofit2 в базу данных Mysql для получения данных, но отправляю одну категорию в строке с запросом Api, чтобы проверить, доступны ли мои данные в соответствии с этой категорией. Это происходит, если условие в сценарии php и дает мне Катида является нулевой, пожалуйста, проверьте мой код. Я даю катиде, почему она проходит, если условие и давать катиде - ноль?
Примечание: если я дам жесткий код 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);
}
?>