2016-05-01 4 views
1

にcolumsを組み合わせる:は、私は、クライアントのDBを持っており、この文で住所DBレコードを返さつの結果

$query = $this->db_connection->prepare('SELECT company, street, etc. FROM clients '); 

結果は以下のようになります。私は生成概要については

Array ( 
    [0] => Array ( 
      [company] => The one and only company 
      [street] => Road to heaven 114 
      [etc.] => .... 
    [1] => Array ( 
      [company] => Better forever 
      [street] => Wild west 145 
      [etc.] => .... 
     ) 
    ) 

phpテーブルを開き、company, street, etc.の結合文字列を1つのフィールドに出力します。


phpでもっとシンプルにするために、私は仕事をmySQLでやってみたいです。

$query = $this->db_connection->prepare('SELECT company +", "+ street as adress FROM clients '); 

をしかし、結果は私が期待できない何weired番号が含まれています PDO準備文は次のようになります。

Array ( 
    [0] => Array ( 
      [adress] => 0 
     ) 
    [1] => Array ( 
      [adress] => 6 
     ) 
    [2] => Array ( 
      [adress] => 15 
     ) 
    ) 

どうしたらよいですか?

+0

私の質問は「行を連結することはできますか?どのようにそれを行うフォーム。答えはOldskoolから完全に与えられます。 – Ben

答えて

2

異なるフィールドを連結するのに、+を使用しないでください。数式になります。 +additionの算術演算子です。そのため、数値が返されます。あなたがCONCAT(あるいはCONCAT_WS)関数を探している

、次のように:

返す必要があります
SELECT CONCAT(`company`, ", ", `street`) AS `address` FROM `clients`; 

['address'] => 'The one and only company, Road to heaven 114' 
+0

ビンゴ:唯一の解決策、働く、感謝 – Ben

1
SELECT CONCAT_WS(',','company','street') AS `address` FROM `clients`; 

最初の引数は用セパレーターです引数の残りの部分

+0

最初の引数は残りの引数のセパレータです – shalini

関連する問題