Я отправил список строк на сервер с залпом. Как я могу прочитать эти данные в php и выполнить запрос с ними? - PullRequest
0 голосов
/ 09 февраля 2020

Я совершенно новичок ie в программировании, и мой Engli sh не так хорош. Я столкнулся с проблемой в моем проекте. У меня есть ArrayList String, что он содержит только некоторые числа в виде String. с помощью следующего кода я конвертирую его в Gson.

String finalRequestedList = new Gson().toJson(listOfWordsId);///// is my string arraylist///

залпом Я отправил его на сервер. Он отправил что-то вроде этого на сервер:

["1080","16","17","18","2154","151","0","3","1762","6","127","7","91","70","72","20"]

Я попытался получить эти данные с помощью следующей строки

$content = $_POST['wordsList'];

Теперь я хочу знать, что мне делать с $ content для запустите запрос так:

$query="SELECT newG.dId,newG.dWord ,newE.word FROM newG  LEFT JOIN newE ON newG.dId = 
newE.id where newG.dId= 1080,16,17,18,...(all received numbers);

и последняя часть моего кода будет выглядеть так:

$result=$connection->query($query);
$rows = array();
while ($assoc_row = $result->fetch(PDO::FETCH_ASSOC)){
    $rows[] = $assoc_row;   
}
print json_encode($rows);
}catch(PDOExceptoin $e){
    echo $e;
}

1 Ответ

0 голосов
/ 10 февраля 2020

Здесь описано: https://phpdelusions.net/pdo#in

Применительно к вашему коду оно должно выглядеть примерно так:

$content = $_POST['wordsList'];

$in  = str_repeat('?,', count($content) - 1) . '?';
$sql = "SELECT newG.dId,newG.dWord ,newE.word 
    FROM newG  
    LEFT JOIN newE ON newG.dId = newE.id 
    WHERE newG.dId IN ($in)";
$stm = $db->prepare($sql);
$stm->execute($content);
$rows = $stm->fetchAll();
print json_encode($rows);

Нет необходимости oop, вы можете использовать fetchAll().

...