从爆炸值中获取数据

时间:2015-01-30 17:57:13

标签: php arrays explode

我一直试图从爆炸性的数据中获取数据,但我失败了,尽管我一直在做的所有研究,但我完全无能为力。 这就是代码的样子:

$array = explode(",", $hos['prop_owner']);
list($a) = $array;
$gu = $db->prepare("SELECT * FROM users WHERE user_id = :id");
$gu->execute(array(':id' => $a));
$dau = $gu->fetch();

echo $hos['prop_name']."<br><small>";

if(end($array)){
    echo "<a href='/user/view/".$dau['user_id']."' style='color:#".$dau['user_colour']."'>".$dau['user_name']."</a></small><br>";
} else {
    echo "<a href='/user/view/".$dau['user_id']."' style='color:#".$dau['user_colour']."'>".$dau['user_name']."</a>,";
}

目前,数据库字段$hos['prop_owner']包含值“2,20”,它们是用户的ID(此字段将来可能包含更多ID)。我想要做的是从爆炸值中获取所有用户数据,在本例中为2和20,然后按顺序回显信息。

重新解释:
我的数据库中有一个名为prop_owner的字段,它应该包含无限数量的用户ID,用逗号分隔。格式:1,2,3,4。
我想从该字段中获取值,然后以某种方式分离用户ID并单独检索用户名并将其回显。
示例结果:Darren,Eva,Miles,Lisbeth

我希望我能够很好地解释自己,以了解我想要解决的问题 提前致谢!

1 个答案:

答案 0 :(得分:0)

首先,查询将像

SELECT * FROM users WHERE user_id in (2,20)

您需要两个用户的数据,因此查询将返回此处传递的所有ID的所有数据。 您可以直接通过此处,但需要注意安全性...或者您可以检查如何在此类查询中安全地传递值...