2013-10-28 2 views
0

SELECT 쿼리의 결과를 기반으로 배열을 만들고 싶습니다.SQL 결과의 모든 값을 배열에 추가하십시오.

아래 코드는 다소 효과가 있습니다 - 마지막 행만 배열에 추가합니다. 미리 배열을 선언 한 다음 array_push을 사용했지만 그 함수는 키 값을 할당 할 수 없도록했습니다.

$datArr = array($datAssArr["setKey"] => $datAssArr["setValue"]); 

시도 :

또한
$datArr[] = array($datAssArr["setKey"] => $datAssArr["setValue"]); 
// ----^ 

에서, mysql_* 기능을 사용하지 않는 대신

$sql = "SELECT setKey,setValue FROM tblsettings WHERE setApp = '".$data->app."' AND setIP = '".gethostbyname(trim(gethostname()))."'"; 
    $result = mysql_query($sql); 
    if(!$result) die(mysql_error()); 

    if(mysql_num_rows($result) == 0){ 
     echo "null"; 
     exit; 
    } 

    while($datAssArr = mysql_fetch_assoc($result)){ 
     $datArr = array($datAssArr["setKey"] => $datAssArr["setValue"]); 
    } 

    print_r($datArr); 
+0

mysql_ *을 사용하지 마십시오. 더 이상 사용되지 않습니다. [mysqli] (http://php.net/manual/en/book.mysqli.php) 또는 [pdo] (http://php.net/manual/en/book.pdo.php)를 사용하십시오. –

답변

1

. 그들은 비추천입니다. 대신 PDO을 시도하십시오.

+1

도와 주셔서 감사합니다.'$ datArr [$ datAssArr [ "setKey"]] = $ datAssArr [ "setValue"];' – JBALES

+0

괜찮 았지만 mysql_ *을 사용하면 안됩니다. –

+0

이 토론 이후 PDO로 전환했지만 문제가 있습니다 ... 여기에 새로운 질문이 있습니다 : [http://stackoverflow.com/questions/19627423/inserting-multiple-rows-with-a-single-query- using-pdo] (http://stackoverflow.com/questions/19627423/inserting-multiple-rows-with-a-single-query-using-pdo) – JBALES

관련 문제