Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php中的字符串concat_Php_Mysql_Sql - Fatal编程技术网

php中的字符串concat

php中的字符串concat,php,mysql,sql,Php,Mysql,Sql,我有一个php脚本,它从mysql数据库返回一个结果集,如下所示: 音乐名称阿佩利多斯音乐 拉斐尔·鲁达 安东尼奥·曼努埃尔·里奥斯 亚历杭德罗·阿斯托拉 concat音乐人字符串的源代码: while($fila = mysqli_fetch_object($result)){ $apellido = str_replace("\r","",$fila->apellidos_musico);; $nombre = str_replace

我有一个php脚本,它从mysql数据库返回一个结果集,如下所示:

音乐名称阿佩利多斯音乐
  • 拉斐尔·鲁达
  • 安东尼奥·曼努埃尔·里奥斯
  • 亚历杭德罗·阿斯托拉
concat音乐人字符串的源代码:

while($fila = mysqli_fetch_object($result)){
            $apellido = str_replace("\r","",$fila->apellidos_musico);;
            $nombre = str_replace("\r","",$fila->nombre_musico);
            $musicos .= $nombre . " " . $apellido .",";
        }
sql查询是:

    $sql = "select gr.nombre_grupo, gr.anyo_creacion, gr.descripcion, ms.nombre_musico, ms.apellidos_musico\n"
    . "from musico ms, canta_para cp, grupo gr\n"
    . "where ms.id_musico = cp.musico_id and gr.id_grupo = cp.grupo_id and gr.nombre_grupo = '".$name_group."'";
执行查询的代码是:

$result = mysqli_query($mysqli, $sql);
我想得到这样的结果:

"musicos":"Rafael Ruda,Antonio Manuel Rios,Alejandro Astola"
但我得到的结果是:

"Rafael Ruda,Antonio Manuel Rios,"

我必须做什么才能获得正确的连接字符串。我想尽快得到一些帮助。

这将返回您输入的格式:

SELECT CONCAT('\"musicos\":',gr.nombre_grupo,', ',gr.anyo_creacion,', ',gr.descripcion,', ',ms.nombre_musico,', ',ms.apellidos_musico)

这些名称包含在哪个字段中?选择框中的ms.nombre_musico,ms.apellidos_musico是问题,您只能得到两个名称?或者你想看到的问题是“musicos”:“…”问题是我得到了两个名字而不是三个。“musicos”:“…”是一个json属性,返回的php脚本不是我想要的。我想将这三个名称合并,并将其分配给一个名为“musicos”的json对象属性