2012-09-21 57 views
0

我想創建一個數組然後用JSON編碼,現在我手動命名基於列名稱的數組元素,如果它的少量列是好的,但如果它將是1000列。有沒有辦法自動命名數組元素?自動命名數組中的數據庫列元素的名稱在PHP中

現在:

$resulta = mysql_query("SELECT bla,bla1bla2 from ..."); 
$toEncodeArray = array(); 
if($resulta) 
{ 
while($columna = mysql_fetch_array($resulta)) 
{ 
    $toEncodeArray[] = array(
    "bla" => $columna['bla'], 
    "bla1" => $columna['bla1'], 
    ... 
); 
} 
} 

想財產以後這樣的:

while($columna = mysql_fetch_array($resulta)) 
{ 
$toEncodeArray[] = array(<same name as column> => $columna[<iterate columns?]); 
} 

只使用$ columna = mysql_fetch_array($ resulta),然後編碼$ columna給我的垃圾。

在此先感謝。

+2

請不要使用'mysql_ *'函數編寫新代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。查看[*紅色框*](http://goo.gl/GPmFd)?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 –

+2

如果你有一個有1000列的數據庫表,那麼你做錯了。 – vascowhite

+0

@vascowhite我在哪裏得到一個資源,告訴我一個給定的表X應該只能達到N列?找到一個固定的數字會很有趣,你只應該有「24」列,或者「99」或「43」,我的意思是「在哪裏」開始變得太多,變成一個非常主觀的情況,取決於問題本身。正如我明確指出的那樣,這是一個1000的假設。 – nxgtrturbo

回答

3

只需使用mysql_fetch_assoc()

$res = mysql_query(...); 
while($row = mysql_fetch_assoc($res)) 
{ 
    print_r($row); 
    // or echo $row['something']; 
} 
相關問題