Php 从MySQL PDO中的单个列获取所有值
我在Php 从MySQL PDO中的单个列获取所有值,php,mysql,pdo,Php,Mysql,Pdo,我在user\u 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->prepar
user\u 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_data = array($project_id);
$query = "select `user_id` 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(); /* declare variable before loop */
foreach($result_data as $rows) {
$ids[] = $rows['user_id'];
}
$id = implode(',',$ids); /* output after loop */
初始化
$ids=array()代码>在循环外,对它的每一次迭代都要声明,这里的想法是:在循环外初始化,在循环内推,然后在循环外内爆。这些表只是被称为p
和pl
?另一种方法是对ID进行分组,然后->fetchColumn
它,然后explode$id
总是被覆盖,你应该把它放在循环的一边,按照建议执行,并在内爆语句echo$id之后添加这一行;仍然获得一个值(1)