2013-06-04 3 views
1

MySQL을 모든 것을 배열에 넣으려고합니다. 그러면 나중에 도로에서 작업하기가 더 쉬울 것입니다.MySQL은 배열을 두 번 반환합니다.

나는 현재 다음

$result = mysql_query('SELECT * FROM (SELECT * FROM new WHERE qc_status =\'pending\' AND call_date = \''.date("Y-m-d").'\' LIMIT 0,17) as assesmenttable ORDER BY RAND() LIMIT 1',$link); 
         $array = array(); 

         while($row = mysql_fetch_array($result)){ 
          foreach($row as $column => $value) { 
           $array[$column]= $value; 
          } 
         } 
         print_r($array); 
       } 

를 사용하고 있지만, 문제는 나에게 잘못 뭔가를하고 명확하게

Array ([0] => Ms [title] => Ms [1] => Belinda [fname] => Belinda 

같은 배열을주고있다; 내가 배열이 같아야로 json_encode에서이

array([title]=>Ms, [fname]=>Belinda) 

같이 할이

{title:Ms,fname:Belinda} 

사람이 올바른 방향으로 날 가리겠습니까?

+0

로 MYSQL_ASSOC - 연관 배열, 숫자 배열, 또는 두 가지 모두를 사용 MYSQL_ASSOC 대신 –

+1

당신로 결과 행을 반환 MYSQL_ASSOC를 mysql_fetch_array()를위한 두 번째 param으로 사용하거나 mysql_fetch_assoc()을 사용할 수 있지만, mysql_ 함수에 대한 매뉴얼에서 큰 빨간색 경고를 읽으십시오. – piotrm

답변

2

mysql_fetch_arrayresult_type으로 MYSQL_BOTH을 기본값으로 사용하여 연관성과 숫자 색인을 모두 제공합니다.

은 당신은 결합 인덱스와 결과 배열을 얻을 수는 result_type로 MYSQL_ASSOC을 사용해야합니다 :

while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ 
    // your code 
} 
관련 문제