Я получил ошибку при попытке получить данные с сервера - PullRequest
0 голосов
/ 27 апреля 2020

Я столкнулся с проблемой при попытке получить данные с сервера. Я отправил данные архива с залпом на сервер php.

ArrayList<String> list = new ArrayList<>();

list.add("data1");
list.add("data2");
list.add("data3");

String finalRequestedList = new Gson().toJson(list);

Я отправил выше json на сервер правильно и получил его на php. Но я не смог выполнить запрос и получить ответ от сервера на моем android.

ниже мой php код:

$data =$_POST['data'];
$content = json_decode($data,true); 
$in  = str_repeat('?,', count($content) - 1) . '?';
$query = "SELECT * from table where column = '$in'";
$result=$connection->prepare($query);
        $result->execute($content);
        $rows = $result->fetchAll(PDO::FETCH_ASSOC);
        print json_encode($rows);

Моя цель - выполнить этот запрос и получить ответ из базы данных и вернуть его на android.

$query = "SELECT * from table where column = 'data1,data2,data3'";

Может ли кто-нибудь мне помочь на этот случай? Спасибо заранее.

Отредактировано: volley отправьте json на сервер:

["data1","data2","data3"]

Я получил эту ошибку на php (строки разные, потому что у меня есть другой код, не связанный с этим часть):

Warning: count(): Parameter must be an array or an object that implements 
Countable in domain.com/get_data.php on line 76 Warning: str_repeat(): Second 
argument has to be greater than or equal to 0 in domain.com/get_data.php on 
line 76 []

1 Ответ

0 голосов
/ 27 апреля 2020
$data =$_POST['data'];
$content = json_decode($data,true); 
$in=str_repeat("? or column=",count($content)-1)."?";
$query = "SELECT * from table where (column=$in)";
$result=$connection->prepare($query);
$result->execute($content);
$rows = $result->fetchAll(PDO::FETCH_ASSOC);
print json_encode($rows);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...