如何使用PHP和Mysql将数据库值连接为带逗号分隔符的字符串


How to join db value as string with comma separator using PHP and Mysql

我需要一个帮助。我需要使用PHP和Mysql将DB值连接为带有逗号(,)分隔符的字符串。

db_order:

id         name
1           Rahul
2           Raj

3           Shiv
4          Hari

$qry=mysqli_query($con,"select * from db_order");
while($row=mysqli_fetch_array($qry)){
   $data[]=$row;
}
print_r($data);

在我的表中,我需要用逗号(,)连接所有名称,这样通过执行查询,结果应该像这个Rahul,Raj,Shiv,Hari。请帮帮我。

使用GROUP_CONCAT:

SELECT group_concat(name separator ',') FROM YourTable

如果你必须使用php,那么它将像一样

$qry = mysqli_query($con,"select * from db_order");
$str = '';
while($row = mysqli_fetch_array($qry)){
   $str .= $row['name'].",";
}
$data = rtrim($str, ",");
echo $data;

您可以通过逗号分隔直接从ur查询中获取值。

若您使用的是mysql,那个么您可以像一样获得逗号分隔的表名

select GROUP_CONCAT(name) from <table_name>;

如果您在oracle中有数据库,那么您可以使用wm_concat()来代替GROUP_CONNCT()。

请尝试以下操作:

<?php
$server = 'localhost';
$username = 'root';
$password = '';
$database = 'test';
$con = mysql_connect($server, $username, $password) or die("Error:" . mysql_error());
mysql_select_db($database, $con) or die("Unable to select DB" . mysql_error());
$qry = "SELECT id, name FROM users";
$res = mysql_query($qry, $con) or die("Error to execute query " . mysql_error());
$users = '';
if (mysql_num_rows($res)) {
    while ($row = mysql_fetch_array($res)){
        if ($users) {
            $users .= ',' . $row['name'];
        } else {
            $users = $row['name'];
        }
    }
}
echo $users;