2014-03-26 89 views
-2

抱歉,如果我的標題不好。在php中刪除數據從數組中的sql查詢

我的問題是從數據中的數據從sql查詢。

我的SQL查詢:

$num = mysql_query("SELECT `id_product_attribute`,`id_product`,`reference` FROM `ps_product_attribute`") 

我用這個代碼retreive數據:

$nameArray = array(); 

while($row = mysql_fetch_array($num)) { 
    $nameArray[] = $row; 
} 

echo '<pre>'; 
print_r($nameArray); 
echo '</pre>'; 

輸出看起來是這樣的:

Array 
(
    [0] => Array 
     (
      [0] => 45 
      [id_product_attribute] => 45 
      [1] => 10640 
      [id_product] => 10640 
      [2] => 1041-0567041700116 
      [reference] => 1041-0567041700116 
     ) 

    [1] => Array 
     (
      [0] => 46 
      [id_product_attribute] => 46 
      [1] => 10640 
      [id_product] => 10640 
      [2] => 1041-0567041700318 
      [reference] => 1041-0567041700318 
     ) etc. 

,但我想這樣的輸出:

Array 
(
    [0] => Array 
     (
      [0] => 45 
      [1] => 10640 
      [2] => 1041-0567041700116 
     ) 

    [1] => Array 
     (
      [0] => 46 
      [1] => 10640 
      [2] => 1041-0567041700318 
     ) etc. 

我需要在我的代碼中更改以實現此目標?

如果我使用fetch_assoc那麼我會得到相反的結果。

+1

請RTFM。 http://php.net/mysql_fetch_array – deceze

+1

可能的重複[爲什麼我的CSV輸出包含每個列兩次?](http://stackoverflow.com/questions/15230470/why-does-my-csv-output-contain-每列 - 兩次) –

回答

1

你需要指定結果的類型,否則你會得到兩個:

while ($row = mysql_fetch_array($result, MYSQL_NUM)) { 
    ... 
} 

而且,你真的應該切換到另一個適配器(PDO,mysqli的,等等)。

+0

非常感謝。有效!是的,我知道mysql已棄用,我將在稍後更改,再次感謝 – user2989040

0

http://ca1.php.net/manual/en/function.mysql-fetch-row.php

特定的功能之外,你真的應切換到mysqli_類&功能,因爲所有的mysql_功能設定在未來的某一時刻被刪除。他們還有其他的好處,但是如果你只是用它們作爲直接替代品的話,那還不算太多。

0

使用:

$nameArray = array(); 

while($row = mysql_fetch_array($num, MYSQL_NUM)) { 
    $nameArray[] = $row; 
} 

echo '<pre>'; 
print_r($nameArray); 
echo '</pre>'; 
1

mysql_fetch_array接受一個可選的第二個參數。

像這樣:

array mysql_fetch_array (resource $result [, int $result_type = MYSQL_BOTH ]) 

傳遞常數MYSQL_NUM得到你想要的結果。