I want to search something in the database and I send the word to be searched by POST method to the server and I checked the POST is working fine but when I want to get the data that are related to that searched work it produces this error :
error in AdsParser inparse () ->org.json.JSONException: End of input at character 1 of
I checked before and my parser class doesn't have any problem because without the search query inside my below PHP code it gets the json data perfectly, here is my PHP code :
<?php
require_once("include.php");
$tbl_name = "ads";
$order_by = "id";
if(isset($_POST['search_key']))
{
$key = $_POST['search_key'];
$connect = @mysqli_connect( $hostname , $username , $password , $database );
if( $connect )
{
@mysqli_query( $connect , "SET CHARACTER SET utf8;" );
$my_query = "SELECT * FROM ".$tbl_name.
" WHERE title LIKE '%".$key.
"%' OR intro LIKE '%".$key.
"%' ORDER BY ".$order_by;
$result = @mysqli_query( $connect , $my_query );
if( $result )
{
$response['ads'] = array();
$response['success'] = 1;
while( $row = @mysqli_fetch_array( $result ) )
{
$ads = array();
$ads['id'] = $row['id'];
$ads['title'] = $row['title'];
$ads['cost'] = $row['cost'];
$ads['costunit']= $row['costunit'];
$ads['intro'] = $row['intro'];
$ads['image'] = $sitename . $row['image'];
$ads['seller'] = $row['seller'];
$ads['phone'] = $row['phone'];
$ads['date'] = ago($row['date']);
$q = "SELECT name FROM cat WHERE id='".$row['cat_id']."'";
$temp1 = @mysqli_query($connect , $q);
$temp2 = @mysqli_fetch_row($temp1);
$cat = $temp2[0];
$q1 = "SELECT name FROM cities WHERE id='".$row['city_id']."'";
$temp3 = @mysqli_query($connect , $q1);
$temp4 = @mysqli_fetch_row($temp3);
$city = $temp4[0];
$ads['city'] = $city;
$ads['cat'] = $cat;
array_push( $response['ads'] , $ads);
}
}
else
{
$response['success'] = 0;
$response['message'] = "nothing";
}
echo( json_encode( $response ) );
/* I don't want use JSON_PRETTY_PRINT. If you want, you know! */
@mysqli_close( $connect );
}
}
function ago( $datetime )
{
$interval = date_create('now')->diff( date_create($datetime) );
if ( $v = $interval->y >= 1 ) {
$in = ($interval->y == 1) ? ' سال قبل' : ' سال قبل';
return $interval->y . $in;
}
if ( $v = $interval->m >= 1 ) {
$in = ($interval->m == 1) ? ' ماه قبل' : ' ماه قبل';
return $interval->m . $in;
}
if ( $v = $interval->d >= 1 ) {
$in = ($interval->d == 1) ? ' روز قبل' : ' روز قبل';
return $interval->d . $in;
}
if ( $v = $interval->h >= 1 ) {
$in = ($interval->h == 1) ? ' ساعت قبل' : ' ساعت قبل';
return $interval->h . $in;
}
if ( $v = $interval->i >= 1 ) {
$in = ($interval->i == 1) ? ' دقیقه قبل' : ' دقیقه قبل';
return $interval->i . $in;
}
$in = ($interval->s == 1) ? ' ثانیه قبل' : ' ثانیه قبل';
return $interval->s . $in;
}
?>