繁体   English   中英

如何在php中从mysql数据库将数据存储为关联数组

[英]how to store data as an associative array from mysql database in php

我想实现将数据作为关联数组从mysql数据库中的数据存储在php中,但是当我仅以数组形式显示结果时,它会向我显示mysql表中最后插入的结果。 我的代码:-

public function displayresult(){
    $result = mysql_query('SELECT * FROM user');
    $num = mysql_num_rows($result);
    if(mysql_num_rows($result) > 0){
        for($i=0;$i<=$num;$i++){        
            while($row=mysql_fetch_array($result)){
                $data[$i]['name']=$row['name'];
                $data[$i]['contact']=$row['contact'];
            }
        }
    }
    return $data;
}
print_r(displayresult());

以上代码显示的结果是:

 Array
  (
  [0] => Array
    (
        [name] => jason
        [contact] => 4098979774
    )

)

它并不会显示所有结果,而只会显示最后插入的结果。 请帮忙。

您真的不需要其他麻烦,只需正常推动它们即可:

public function displayresult(){
    $result = mysql_query('SELECT * FROM user');
    $num = mysql_num_rows($result);
    if(mysql_num_rows($result) > 0){  
        while($row = mysql_fetch_assoc($result)){ // use fetch_assoc 
            $data[] = array('name' => $row['name'], 'contact' => $row['contact']);
        }  
    }
    return $data;
}
print_r(displayresult());

或者更好:

public function displayresult(){
    $result = mysql_query('SELECT name, contact FROM user');
    $num = mysql_num_rows($result);
    if(mysql_num_rows($result) > 0){  
        while($row = mysql_fetch_assoc($result)){
            $data[] = $row;
        }  
    }
    return $data;
}
print_r(displayresult());

注意:顺便说一下,如果可能,请使用更好的扩展名,即mysqli或PDO。

只需从代码中删除for循环即可。 当您拥有foor循环时,内部的while循环将使用结果,并且与所有数据相关的数据都将插入到同一索引中。

public function displayresult(){
    $result = mysql_query('SELECT * FROM user');
    $num = mysql_num_rows($result);
    if(mysql_num_rows($result) > 0){
        /* loop removed */       
        while($row=mysql_fetch_array($result)){
            $data[]=array("name"=>$row['name'],"contact"=>$row['contact']);
        }

    }
    return $data;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM