PHP mysqli_fetch_assoc存储到一个数组中

时间:2015-04-10 03:12:50

标签: php mysql arrays

我在从SQL查询中拉出一行并将其存储到数组中时遇到了麻烦。这是我的代码。

$sql = "SELECT water, importdate
        FROM customer_table
        WHERE customer_number = '" . $custNum . "';";
        $result_of_login_check = $this->db_connection->query($sql);
        echo $sql . "<br>";
        $result = mysqli_query($this->db_connection,$sql);

        // set array
        $array = array();

        // look through query
        while($row = mysqli_fetch_assoc($result)){

        // add each row returned into an array
        $array[] = $row;
        }
        print_r($array);

这是打印数组时输出的样子,

Array ( 
    [0] => Array ( 
        [water] => 23 
        [importdate] => 2014-03-29 
    ) 
    [1] => Array ( 
        [water] => 33 
        [importdate] => 2015-02-22 ) 
    )

在存储时,我一直试图弄清楚如何将每一行复制到数组中,所以看起来像这样,

Array ( 
    [water] => 23 
    [importdate] => 2014-03-29
) 
Array ( 
    [water] => 33 
    [importdate] => 2015-02-22
)

每行存储在$ row中。

我想要的是我需要从我的数据库中提取同一客户的账单金额和日期列表,然后按日期显示每个月。显示当前的月份账单。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

当你说出来时,谁包含这些物品?

Array ( 
    [water] => 23 
    [importdate] => 2014-03-29
)
 Array ( 
    [water] => 33 
    [importdate] => 2015-02-22
)

没什么..你需要有一个包含这个数组的数组,或者你需要在某个地方索引多个数组,基本上是一个带数组的数组。所以这种格式没什么问题..

为什么你需要这种格式?它没有意义..

答案 1 :(得分:-1)

我最终改变了存储数据的方式。我将行拆开并将它们放入两个不同的阵列并将它们存储在会话中。以下是代码。

            // set array
            $costArray = array();
            $dateArray = array();
            $i = 0;

            // look through query
            while($row = mysqli_fetch_assoc($result)){

              // add each row returned into an array
              $array[] = $row;

              //print_r($row);

              list($id,$two) = each($row);
              $costArray[$i] = $two;

              //echo "Total bill" . $two;

              list($id,$two) = each($row);
              $dateArray[$i] = $two;

              $i++;

            }
            $_SESSION['cost'] = $costArray;
            $_SESSION['date'] = $dateArray;

它们的长度都是一样的,所以我最终将数组拉出会话,将它们存储到变量中并像这样显示它们。

for ($i = 0; $i < count($costArray); ++$i) {
echo $dateArray[$i]. " $" . $costArray[$i] . "<br>";
}

感谢您的帮助,这让我意识到我的努力程度。