1

私はこのクエリを持っています:

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

2 に答える 2

7

使用する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

于 2012-11-30T09:14:43.800 に答える
1

このコードを試してください

<?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 )


?>
于 2012-11-30T09:31:02.247 に答える