我正在尝试从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'])
);
}
答案 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
的记录的任何信息。