2012-12-23 26 views
1

我想將ID列表加載到一個PHP數組中,我可以循環。我使用的SQL查詢在PHPMyAdmin中運行時返回283行。但是,當我運行以下PHP腳本時,它只返回一行(第一行)。我如何修改我的代碼以包含來自生成的SQL查詢的所有行到我的PHP數組中?將MySQL數據加載到PHP數組中

代碼:

//Get active listing IDs 
$active = "SELECT L_ListingID FROM `markers`"; 
$active = mysql_query($active) or die(mysql_error()); 

if(is_resource($active) and mysql_num_rows($active)>0){ 
$row = mysql_fetch_array($active); 
print_r($row); 
}; 

感謝,

回答

7

使用mysql_fetch_array將只返回第一行,然後推進內部計數器。您需要將它作爲如下所示的循環的一部分來實現,以獲得您想要的內容。

while($row = mysql_fetch_array($active)) { 
// Your code here 
} 

請記住,mysql_函數現在也被棄用,並預計將在未來版本的PHP中被刪除。使用mysqli_函數或PDO。

+0

我怎麼能寫使用PDO,而不是相同的功能? – AME

2

隨着mysqli你會使用mysqli_result::fetch_allPDOPDOStatement::fetchAll來獲取所有行到一個數組。

代碼的mysqli

$sql = "SELECT L_ListingID FROM `markers`"; 
$result = $mysqli->query($sql); 
if ($result !== false) { 
    $rows = $result->fetch_all(); 
} 

與PDO它幾乎是相同的

$sql = "SELECT L_ListingID FROM `markers`"; 
$result = $pdo->query($sql); 
if ($result !== false) { 
    $rows = $result->fetchAll(); 
}