下記のようなテーブルから
テーブルA
user_id key value 1 name 高橋 1 kana たかはし 1 add 東京都 1 mail abc@def.gh 1 tel 000-000-0000
現在下記のselect文で取得しており
function GetRecordset($sql,$param,$htmlchar=false){ $ret = null; $conn = ConnectDB(); if(is_null($conn)){return $ret;} $sql=mb_convert_encoding($sql,'utf8','auto'); $sth = $conn->prepare($sql); if($sth->execute($param)){ $ret = $sth->fetchAll(PDO::FETCH_ASSOC); $ret = htmlspecialchars_decodeArray($ret); if($htmlchar) $ret = htmlspecialcharsArray($ret); } return $ret; } $sql = "SELECT key,value FROM テーブルA WHERE user_id=:user_id;"; $param = array(':user_id' => $user_id); $result = GetRecordset($sql,$param); if(is_null($result)){ $err = ERR_DATABASE; } elseif(count($result)==0){ $err = ERR_NO_RECORD_FETCHED; }else{ return $result; }
以下のような結果が返ってきます。
array( [0]=>array([key]=>'name',[value]=>'高橋'), [1]=>array([key]=>'kana',[value]=>'たかはし'), [2]=>array([key]=>'add',[value]=>'東京都'), [3]=>array([key]=>'mail',[value]=>'abc@def.gh'), [4]=>array([key]=>'tel',[value]=>'000-000-000') )
下記のような配列で1行で取得したいです
array( 'name'=>'高橋', 'kana'=>'たかはし', 'add'=>'東京都' ・・・)
GROUP_CONCATも検討しましたが、理想の配列にはならないため質問させていただきました。
よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー