数组没有从数据库输入数据

时间:2014-04-12 02:18:07

标签: php mysql arrays database

我正在尝试使用如下结构制作数组:

[ 
    { 
        "ips": 
             "xxx.xxx.xxx.xx", 
             "yyy.yyy.yyy.yy",
             "zzz.zzz.zzz.zz" 
        "ai": 
             "xxx.xxx.xxx.xx",
             "yyy.yyy.yyy.yy"
    } 
]

所以我可以检查带有字符串的变量是否在数组内部。但我正在使用mysql从数据库中收集IP,并且不确定如何插入IP。

我试过这个:

$whitelist = array(
    'ips' => array(), 
    'ai' => array()
);

// sql command
$sql = "SELECT `ip` FROM `testers`";
$res = mysql_query($sql) or die(mysql_error());

while($row = mysql_fetch_assoc($res)) {
    array_push($whitelist['ips'], 
        $row
    );
}

有人可以告诉我如何做到这一点/认真地失去其他然后单独插入IP。这需要永远而且不容易追踪。

1 个答案:

答案 0 :(得分:1)

看起来您的解决方案非常接近。您只需使用$row['ip']访问从mysql检索到的行作为关联数组。

以下代码应将ip从数据库保存到$ whitelist ['ips']数组,然后将结果打印到屏幕上。

$whitelist = array(
    'ips' =>array()
);
$sql = "SELECT `ip` FROM `testers`";
$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($res)) {
    array_push($whitelist['ips'], $row['ip']);
}
var_export($whitelist);