可重用的PDO查询函数到多维数组

时间:2015-04-01 22:16:10

标签: php arrays pdo

我正在尝试为我放入的每个表名为多维数组构建一个可重用的函数。 像大多数我开始我的表格惠特ID,并希望启动阵列白衣ID,所以不要启动惠特0 :)。 foneticly--> $my_array[id]["email"]

所以为了构建它,我想“我需要什么”,并找到:$count_colum$total_row数据本身。

我知道如何构建一个数组,但我不知道如何构建一个“变量”数组。 我也知道我不能在数组中使用PHP :)(如果你告诉我的话,请帮助) $my_array = array( $row['id'] for ($i = 0; $i < $count_colum; $i++){...} 我也希望有人知道我的意思:)我对这一切都有点新意;)

这就是我的目标:

function make_MDA($tablename)
{
    $dbh = new PDO("mysql:host='localhost';dbname='dbname', 'usr','pas'");
    $query = $dbh->prepare("SELECT * FROM `".$tablename."`"); 
    $query->execute();

    $count_colum = $query->columnCount();
    $result = $query->fetchAll();
    $total_row = count($result);

    for ($i = 0; $i < $count_colum; $i++) 
    {
        $meta = $query->getColumnMeta($i);
        $column[] = $meta['name'];
    }
    foreach ($result as $row)
    {
        $my_array = array( $row['id'] //this is where I'm stuck
    }
//        echo $column[3];
//        echo $total_row;
//        echo $count_colum;
}

1 个答案:

答案 0 :(得分:1)

这应该有效,不要过于复杂:

function make_MDA($tablename)
{
    $dbh = new PDO("mysql:host='localhost';dbname='dbname', 'usr','pas'");
    $query = $dbh->prepare("SELECT * FROM `".$tablename."`"); 
    $query->execute();

    $result = $query->fetchAll();

    foreach ($result as $row)
    {
        $id = $row['id'];
        $my_array[$id] = $row; 
    }

    return $my_array;
}

一旦在此函数之外,我将建立与数据库$dbh的连接。