结合的结果在MySQL

结合的结果在MySQL

问题描述:

我有这个疑问:结合的结果在MySQL

$query = 
     " 
     SELECT 
      detail_firstN AS firstname, 
      detail_lastN AS lastname 
     FROM users 
     WHERE 
      users_id = :users_id 
     "; 

其结果将是这样的:

Array 
(
    [firstname] => John 
    [lastname] => Doe 
) 

是否有MySQL的任何方式,我可以合并的结果,让我有只有这个输出?

Array 
(
    [name] => John Doe 
) 

使用CONCAT

SELECT CONCAT(detail_firstN, ' ', detail_lastN) AS Name 
FROM users 
WHERE users_id = :users_id 

CONCAT_WS

SELECT CONCAT_WS(' ', detail_firstN, detail_lastN) AS Name 
FROM users 
WHERE users_id = :users_id 

更新1

+0

感谢这个,它只是简单。 – fishcracker

试试这个代码

<?PHP 

function combine_result($array,$out_key = "name") // Deafult output key is [name] 
{ 
    if(is_array($array)) 
    { 
     $vals = array_values($array); 
     $out = implode(" ",$vals); 
     return array($out_key=>$out); 
    } 
} 


$array = array(
       "firstname" => "John", 
       "lastname" => "Doe"); 


print_r(combine_result($array)); // Array ([name] => John Doe) 


?> 
+1

为什么您需要在PHP中直接在MySQL服务器上执行此操作? –

+1

感谢你们,但正如我所说的,我需要通过MySQL来完成这项工作。 – fishcracker