2012-05-12 88 views
0

是否有任何PHP函數可以讓我從數組中檢索數據。如果沒有這個功能,我該怎麼做?從數據庫中檢索數據

我想從數據庫中檢索電子郵件列表,但我需要檢索數字數組中的這些電子郵件。我試過這個,但它不起作用。

$a=mysql_connect("X","X","X"); 
    mysql_select_db("X",$a); 
    function num(){ 
    $email=mysql_query("select email from X"); 
    while($re=mysql_fetch_array($email)){ 
     print $re[0]; 
     print "<br>"; 
    } 
    } 
    num(); 
+0

我想這把這些電子郵件的數字陣列,但它不會工作$ FR =爆炸(「
」,NUM()); – user181275

回答

2

替換此行:

while($re=mysql_fetch_array($email)){ 

有了這一個:

while($re=mysql_fetch_array($email, MYSQL_NUM)){ 
+0

當我嘗試打印特定的電子郵件時,出現以下錯誤:undefined offset:8(如果我嘗試「print $ re [8]」;) – user181275

+1

當然,這是因爲$ re是**一行**,正在打印該行的第8列 – Jeroen

+0

試試這個 - > http://www.w3schools.com/php/func_mysql_fetch_field.asp – siaooo

0
function num(){ 
$email=mysql_query("select email from X"); 
$result = array(); 
while($re=mysql_fetch_array($email)){ 
    $result[] = $re[0]; 
} 
return $result; 
} 
1

mysql_fetch_array同時返回數值和關聯的索引。吉榮是正確的,因爲你可以設置第二個參數來定義你喜歡什麼類型的索引,但可以考慮使用此爲數字索引:

while($re=mysql_fetch_row($email)){ 

這爲關聯索引:

while($re=mysql_fetch_assoc($email)){ 

至於你的功能,你可以做這樣的事情:

$a=mysql_connect("X","X","X"); 
mysql_select_db("X",$a); 
$emails = num("select email from X"); 
function num($query){ 
    $email=mysql_query($query); 
    $results = array(); 
    while($re=mysql_fetch_assoc($email)){ 
     $results[] = $re; 
    } 
    return $results; 
} 
print $emails[8]['email']; 

你也應該停止使用mysql_ *功能,並考慮改用類似PDO。

0

對於數字鍵的數組:

mysql_fetch_row()