使用PHP将SQL数据转换为字符串

使用PHP将SQL数据转换为字符串,php,sql,string,Php,Sql,String,我有一列来自SQL数据库的数据,我正在通过PHP调用该数据库。我希望将这些结果转换为连续字符串。因此,这是一种将结果(由列中的一系列字符串组成)转换为字符串的情况 我该怎么办 目前,当我使用 while($row = mysqli_fetch_array($result)) { echo $row['title']; echo "<br>"; } while($row=mysqli\u fetch\u数组($result)) { echo$row['t

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

我该怎么办

目前,当我使用

while($row = mysqli_fetch_array($result))
  {   
  echo  $row['title'];
  echo "<br>";
  }
while($row=mysqli\u fetch\u数组($result))
{   
echo$row['title'];
回声“
”; }
它返回每个项目,但我希望将这些项目放入字符串中

谢谢

您可以使用-功能:

$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);

在我看来,第一种选择更好

MySQL可以更好地处理这个问题

while($row = mysqli_fetch_array($result))
{    
    $myString .=  $row['title'] . " ";
}
在标题列上指定一个索引,然后运行如下查询

SET SESSION group_concat_max_len = @@max_allowed_packet;  

SELECT GROUP_CONCAT(title) FROM database.table GROUP BY title ASC
返回的数据示例
title1,title2,title3

在PHP中,您不会使用
+
@PatrickKostjens进行字符串连接:我编辑了我的答案,但+的效果和我记得的一样好。不,它不会。在PHP shell中,您可以尝试
echo“a”+“b”。它将导致
0
<代码>回显“a”。“b”将导致
ab
。这行末尾的
+
在那里做什么?第二个选项非常令人不快,我看到太多的程序员在做这件事。第一个是唯一有意义的。