2012-05-12 181 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()