将SQL结果的所有值附加到数组中

时间:2013-10-28 00:49:39

标签: php sql arrays

我想根据SELECT查询的结果创建一个数组。

以下代码有点作用 - 它只将最后一行添加到数组中。我尝试事先声明数组,然后使用array_push,但该函数不允许我分配一个键,只是一个值。

    $sql = "SELECT setKey,setValue FROM tblsettings WHERE setApp = '".$data->app."' AND setIP = '".gethostbyname(trim(gethostname()))."'";
    $result = mysql_query($sql);
    if(!$result) die(mysql_error());

    if(mysql_num_rows($result) == 0){
        echo "null";
        exit;
    }

    while($datAssArr = mysql_fetch_assoc($result)){
        $datArr = array($datAssArr["setKey"] => $datAssArr["setValue"]);
    }

    print_r($datArr);

1 个答案:

答案 0 :(得分:1)

而不是:

$datArr = array($datAssArr["setKey"] => $datAssArr["setValue"]);

尝试:

$datArr[] = array($datAssArr["setKey"] => $datAssArr["setValue"]);
// ----^

另外,请勿使用mysql_*功能。他们被弃用了。请尝试使用PDO