试图将mysql结果放入字符串中

时间:2012-09-13 21:35:53

标签: php mysql pdo

我正在尝试将mysql查询结果放入字符串中 我试图找到答案,但所有类似的帖子都得到子查询答案,这不是我想要做的。

例如

    +----------------------------------+
    |            Fruits_tbl            |
    +----+---------+---------+---------+
    | ID |  Fruit  |  Color  |  Number |
    +----+---------+---------+---------+
    |  1 |  Orange |  Orange |    3    |
    |  2 |  Apple  |  Red    |    5    |
    +----+---------+---------+---------+



    $sql = "select Fruits,Color,Number from Fruits_tbl where ID = 2";
    $result = $pdo->query($sql);
    $row = $result->fetch();
    print_r($row);

这会给我一些像 数组([0] =>“Apple”,[1] =>“红色”,[2] =>“5”,[水果] =>“Apple”,[颜色] =>“红色“,[Number] =>”5“)

implode会给我2个 我只想要一个字符串=“Apple,Red,5”

我目前拥有的是

$string = $row['Fruit'].", ".$row['Color'].", ".$row['Number']

正如你所看到的那样相当乏味。
有什么像implode但只返回索引数组或什么?

2 个答案:

答案 0 :(得分:2)

您可以修改fetch以获取关联数组:

$row = $result->fetch(PDO::FETCH_ASSOC);

或者,你可以得到一个清单:

$row = $result->fetch(PDO::FETCH_NUM);

其中任何一个都可能被单个值破坏,并且不会包含array_unique()的开销。

答案 1 :(得分:1)

$row[Fruit].", ".$row[Color]必须为$row['Fruit'].", ".$row['Color']

我误解了你要做的事情。

使用array_unique()并将其内爆。

$string = rtrim(implode(',', array_unique($your_array)),',');