我已经在堆栈中搜索了答案,但似乎找不到以下代码的解决方案:
$servers = array();
while($row = mysql_fetch_array( $result ))
{
$servers[] = $row['name'] => array('ip' => $row['ip'],'port' => $row['port'],'info' => $row['info'],'purpose' => $row['purpose']),
}
我想要实现的是获取所有结果但我收到以下错误:
语法错误,意外' =>' (T_DOUBLE_ARROW)。
使它像这样只得到最后一项:
while($row = mysql_fetch_array( $result )) {
$servers = array(
$row['name'] => array('ip' => $row['ip'],'port' => $row['port'],'info' => $row['info'],'purpose' => $row['purpose']),
);
}
话虽这么说,$ servers在while循环中,因此它只是最后一项的索引。我不知道导致意外的原因=> :/
答案 0 :(得分:1)
看起来你正试图这样做:
$servers = [];
while($row = mysql_fetch_array( $result )) {
$servers[$row['name']] = [
'ip' => $row['ip'],
'port' => $row['port'],
'info' => $row['info'],
'purpose' => $row['purpose']
];
}
它为您提供了一个最终的$servers
数组,由服务器名称索引,并带有一系列详细信息。
旁注:正如Jay评论的那样,你真的不应该再使用mysql
函数了,真的鼓励你查看mysqli
或PDO
函数。< / em>的