0

我正在尝试从 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'])
); 
}   
4

2 回答 2

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']); 
}   
于 2013-04-07T10:39:51.843 回答
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

于 2013-04-07T10:39:45.433 回答