我有一列来自我通过 PHP 调用的 SQL 数据库的数据。我希望将这些结果转换为连续的字符串。因此,这是将结果(由列中的一系列字符串组成)转换为字符串的情况。
我该怎么办?
目前,当我使用打印数据时
while($row = mysqli_fetch_array($result))
{
echo $row['title'];
echo "<br>";
}
它返回每个项目,但我希望将这些项目放入一个字符串中。
谢谢
您可以使用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);
在我看来,第一个选项更好。
MySQL可以更好地处理这个..
在标题列上给出索引并运行这样的查询。
SET SESSION group_concat_max_len = @@max_allowed_packet;
SELECT GROUP_CONCAT(title) FROM database.table GROUP BY title ASC
示例返回数据 title1,title2,title3
while($row = mysqli_fetch_array($result))
{
$myString .= $row['title'] . " ";
}