从表中获取2列到assoc数组php

时间:2014-03-04 21:43:55

标签: php mysql row fetch

我有一个包含2列的表

第一列是文件ID(varchar)

第二个是日期(varchar)

我想为表中的每条记录获取这两列,并将其粘贴在一个关联数组

我的目标是将文件ID作为键,将日期作为值

我现在有点卡住,因为我正在将代码从索引数组更改为关联数组。

这是我到目前为止所拥有的。

function getLiveList(){
    $idQuery = "SELECT file_id FROM live_list";
    $dateQuery = "SELECT date FROM live_list";

    $fileid = mysql_query($idQuery);
    $date = mysql_query($dateQuery); 

    $array = array();


    while($row = mysql_fetch_assoc($date)){
        $array[$row] = $date;
    }
    return $array;
}

我知道这是错的,但我肯定是正确的!

这是我的错误:警告:非法偏移类型...

2 个答案:

答案 0 :(得分:3)

首先,使用mysqli

$Link = mysqli_connect("localhost", "my_user", "my_password");
$Query = "SELECT file_id, date FROM live_list";
$Result = mysqli_query($Link, $Query);

while($row = mysqli_fetch_assoc($Result)){
    $array[$row['file_id']] = $row['date'];
}
return $array;

您不需要为每列复制查询,它们可以在同一查询中返回。每次提取一行时$row是一个以列为键的关联数组。

答案 1 :(得分:0)

试试这个

 function getLiveList()
 {
        $idQuery = "SELECT file_id FROM live_list";
        $dateQuery = "SELECT date FROM live_list";

        $fileid = mysql_query($idQuery);
        $date = mysql_query($dateQuery); 
        $dates = mysql_fetch_array($date);
        $array = array();

    while($row = mysql_fetch_assoc($fileid))
        {
         $array[$row['file_id']] = $dates['date'];
        }
    return $array;
 }