[尝试从服务器获取数据时出现错误

问题描述 投票:0回答:1

当我尝试从服务器获取数据时,我遇到了一个问题。我用volley将arraylist数据发送到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'";

[有人可以帮助我解决这个问题吗?

编辑:凌空将此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 []
php android mysql pdo android-volley
1个回答
0
投票
$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);
© www.soinside.com 2019 - 2024. All rights reserved.