【发布时间】:2018-08-01 23:51:25
【问题描述】:
我在user_id 列 (1,47,6) 中有值。如何获取所有值?
我使用了以下代码。
$array_data = array($project_id);
$query = "SELECT * FROM p
INNER JOIN pl ON p.pl_id = pl.pl_id
INNER JOIN user ON p.user_id = user.user_id WHERE
p.p_id=?";
$stmt = $conn->prepare($query);
$stmt->execute($array_data);
$result_data = $stmt->fetchAll( PDO::FETCH_ASSOC );
$ids = array();
foreach($result_data as $rows) {
$ids[] = $rows['user_id'];
}
$id = implode(',',$ids);
echo $id;
这个$id 只返回第一个值 (1)。我需要所有 3 个值。请提前帮助和感谢。
【问题讨论】:
-
在循环外初始化
$ids = array();,每次迭代都会声明它,想法是:在外面初始化,推入循环内,然后在外面内爆 -
这些表是否简称为
p和pl? -
另一种方法是将 id 分组,然后
->fetchColumn它,然后分解 -
$id一直被覆盖,你应该把它放在循环之外