douwei1921 2013-02-01 12:37
浏览 82
已采纳

将MySQL结果存储在关联数组中

Hi I am trying to store MySQL result into a global array

class db
{
 function CustomLoad($table_name,$Fields)
  {
     global $_MYSQL_DATA;

     $_MYSQL_DATA=array();

     $qry = mysql_query("SELECT * FROM $table_name") or die(mysql_error());
     while($row = mysql_fetch_assoc($qry))
     {
       foreach($Fields as $r=>$key)
       {

        $_MYSQL_DATA[$r] = $row[$r];
       }

     }

   }
}

I am calling like this

$dbObj = new db();
$fields = array("FIELD_1"=>"FIELD 1","FIELD_2"=>"FIELD 2","FIELD_3"=>"FIELD  3","FIELD_4"=>"FIELD 4");
$dbObj->CustomLoad("registrations",$fields);

print_r($_MYSQL_DATA);

The problem is I am getting the last result only. like Array ( [FIELD_1] => A [FIELD_2] => B [FIELD_3] => C [FIELD_4]=> D )

  • 写回答

2条回答 默认 最新

  • doudian6229 2013-02-01 12:42
    关注

    Just use the following:

     $_MYSQL_DATA = array(); // you should declare your variables, even if it's not mandatory
     while($row = mysql_fetch_assoc($qry)) // USE PDO or MySQLi !!!!!
     {
        $_MYSQL_DATA[] = $row;
     }
    

    Note

    The [] operator generates the smallest, positive, numeric key that is not used in your array.

    Examples:

    $array = array(0 => 'b', 1 => 'a');
    $array[] = 'c'; // will place it in $array[2]
    
    $array = array();
    $array[] = 'a'; // will place in $array[0]
    

    And now ... the rant about PDO / MySQLi (because I have to say it :P).

    MySQL is officially deprecated since PHP 5.5, and it will no longer be maintained. You should consider porting your code to either MySQLi or PDO.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!