我正在尝试从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'])
);
} 发布于 2013-04-07 18:39:52
通过不在循环的每次迭代中创建新数组:
$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-07 18:39:45
也许你正在寻找这个:
$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的记录的任何信息。
https://stackoverflow.com/questions/15861429
复制相似问题