0

我的收件箱表中有 3 个数据,即

--------------
| id | value |
--------------
| 1 | test1 |
| 2 | test2 |
| 3 | test3 |
--------------

我想合并所有数据并将其插入到一个变量
中,例如我创建$results,当我echo $results;在 while 循环之外创建时,
我想要这个值,输出是test1test2test3

这是我的最后一个代码

<?php
$query = mysql_query("SELECT * FROM inbox");

while($data = mysql_fetch_array($query)){

$results[] = $data['value'];

}
echo "$results";
?>

结果就是Array

4

6 回答 6

0

它打印数组,因为它的数组使用 foreach after 来显示结果

<?php
    $query = mysql_query("SELECT * FROM inbox");
    $results = array(); //good habbit
    while($data = mysql_fetch_array($query))
    $results[] = $data['value'];
    foreach($results as $result)
        echo $result['id'].'-'.$result['value'].'<br>' ;
?>

此外,您应该考虑将mysql_*函数更改为PDOMySQLi,因为这些函数已被弃用,并将在未来的 php 版本中删除。

于 2013-06-27T07:56:08.233 回答
0

尝试:

SELECT GROUP_CONCAT(inbox.value) as the_values FROM inbox;

在代码方面:

echo $data['the_values'];

于 2013-06-27T07:50:09.713 回答
0

这应该满足您的要求:

<?php
$query = mysql_query("SELECT * FROM inbox");

while($data = mysql_fetch_array($query)){

    $results .= $data['value'];

}
echo $results;
?>

最后 $results 将等于 test1test2test3

于 2013-06-27T07:51:04.570 回答
0

你可以尝试这样的事情:

<?php

    $query = mysql_query("SELECT * FROM inbox");

    while($data = mysql_fetch_array($query))
    {
        $results .= $data['value'];
    }

    echo $results;

?>
于 2013-06-27T07:52:01.997 回答
0

它打印 Array 因为 $results 是一个数组。你可能想写:

回声内爆($结果);

另外,使用 mysqli 而不是 mysql ;-)

于 2013-06-27T07:52:11.543 回答
0
<?php
$query = mysql_query("SELECT * FROM inbox");

while($data = mysql_fetch_array($query)){

$results[] = $data['value'];

}
 $results = implode(" ",$results);
  echo $results;
?> 
于 2013-06-27T07:52:44.463 回答