0

我有一列来自我通过 PHP 调用的 SQL 数据库的数据。我希望将这些结果转换为连续的字符串。因此,这是将结果(由列中的一系列字符串组成)转换为字符串的情况。

我该怎么办?

目前,当我使用打印数据时

while($row = mysqli_fetch_array($result))
  {   
  echo  $row['title'];
  echo "<br>";
  }

它返回每个项目,但我希望将这些项目放入一个字符串中。

谢谢

4

3 回答 3

2

您可以使用implode-function 来做到这一点:

$titles = array();
while($row = mysqli_fetch_array($result))
{
    $titles[] = $row['title'];
}
$titlestring = implode(",", $titles);

另一种选择是自己连接字符串,如下所示:

$titlestring = "";
while($row = mysqli_fetch_array($result))
{
  $titles .= $row['title'] . ", ";
}
$titlestring = substr($titlestring, 0, -2);

在我看来,第一个选项更好。

于 2013-08-11T13:06:34.707 回答
0

MySQL可以更好地处理这个..

在标题列上给出索引并运行这样的查询。

SET SESSION group_concat_max_len = @@max_allowed_packet;  

SELECT GROUP_CONCAT(title) FROM database.table GROUP BY title ASC

示例返回数据 title1,title2,title3

于 2013-08-11T16:46:36.877 回答
0
while($row = mysqli_fetch_array($result))
{    
    $myString .=  $row['title'] . " ";
}
于 2013-08-11T13:10:31.880 回答