PHP中的数组不起作用

时间:2013-04-07 10:37:50

标签: php

我正在尝试从mysql添加数组数据。但是只添加了最后一行细节。我也尝试过array_push但是没有用。任何人都可以提供帮助

$sql="SELECT * FROM server_details";
$result=mysqli_query($dbC,  $sql);
while ($row = mysqli_fetch_array($result))
{
$services=array( 
    $row['server_name'] => array($row['server_add'] => $row['port'])
); 
}   

2 个答案:

答案 0 :(得分:2)

不在循环的每次迭代中创建新数组:

$sql      = "SELECT * FROM server_details";
$result   = mysqli_query($dbC,  $sql);
$services = array();

while ($row = mysqli_fetch_array($result)) {
    $services[$row['server_name']] = array($row['server_add'] => $row['port']); 
}   

答案 1 :(得分:1)

也许你正在寻找这个:

$services[ $row['server_name'] ] = array($row['server_add'] => $row['port']);

最后,您将在$services变量中加入一个关联数组,并按server_name列值进行索引。

如果他们不是唯一的,那么你应该这样做......

$services[ $row['server_name'] ][] = array($row['server_add'] => $row['port']);

这样你仍然会获得相同的关联数组,但它的值将是索引数组;因此,您不会丢失具有相同server_name的记录的任何信息。