我用 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()
。
我完全是编程新手,我的英语不是很好。我在我的项目中遇到了问题。 我有 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()
。