我正试图从列中列出一系列标题' list'然后获取所述列表上每个标题的详细信息。
//Get list
$r=$link->prepare('SELECT list FROM lists WHERE user=? LIMIT 1');
$r->bindValue(1,$user,PDO::PARAM_STR);
$r->execute();
$list=$r->fetchAll(PDO::FETCH_ASSOC);
//See how many titles the list has
$list_length=count($list);
//Get details for every title
for($i=0;$i<$list_length;$i++)
{
$r2=$link->prepare('SELECT * FROM details WHERE title=?');
$r2->bindValue(1,$list[$i],PDO::PARAM_STR);
$r2->execute();
$details=$r2->fetchAll(PDO::FETCH_ASSOC);
}
return json_encode($details);
因为我只是回复[]
。
我也得到Notice: Array to string conversion in
$r2->bindValue(1,$list[$i],PDO::PARAM_STR);
答案 0 :(得分:1)
您必须学习阅读代码,而不是要求其他人为您完成。
SELECT list FROM lists WHERE user=? LIMIT 1
看看这个查询。它看起来像是可以返回数组的行吗?
这里是代码
$sql = 'SELECT details.* FROM lists JOIN details on title=list WHERE user=?';
$stm = $link->prepare($sql);
$stm->execute([$user]);
json_encode($stm->fetchAll(PDO::FETCH_ASSOC));
只需四行