我用 volley 向服务器发送了一个字符串列表。我如何在 php 和 运行 查询中读取这些数据?

I sent a list of string to server with volley. How I can read this data in php and run query with them?

我完全是编程新手,我的英语不是很好。我在我的项目中遇到了问题。 我有 String ArrayList,它只包含一些数字作为 String 。 我认为使用以下代码将其转换为 Gson。

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

我用 volley 将它发送到服务器。它向服务器发送了类似这样的内容:

["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;
}

此处描述: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);

不需要循环,可以使用fetchAll()