Php 将MySQLi结果填充到关联数组中

Php 将MySQLi结果填充到关联数组中,php,mysqli,Php,Mysqli,我试图将SQL查询的结果保存到PHP中的关联数组中 $result = $conn->query("SELECT `id`, `age` FROM `emp`"); while($row = $result->fetch_assoc()) { $rows[]=$row; } 但这是在另一个数组中创建关联数组!如何解决此问题?您正在查询`emp`表中的所有数据,并在循环时从内的结果创建新数组。使用foreach或for循环,可以在循环外部打印$rows,也

我试图将SQL查询的结果保存到PHP中的关联数组中

$result = $conn->query("SELECT  `id`, `age` FROM `emp`"); 
while($row = $result->fetch_assoc()) {
  $rows[]=$row;
}

但这是在另一个数组中创建关联数组!如何解决此问题?

您正在查询
`emp`
表中的所有数据,并在
循环时从
内的结果创建新数组。使用
foreach
for
循环,可以在循环外部打印
$rows
,也可以在循环内部打印
,而无需创建新的
$rows
数组。如果您接受一个查询结果表单,请使用where子句指定您想要的行,并使
限制为1
。不要在循环时使用

// outside while loop
foreach($rows as $row) {
    print_r($row);
}


因此,如果您想要访问需要执行的数据,那么输出就像是
$rows[0]['id']
对吗?是的,没错<代码>$rows[0]
这就是它的工作原理。如果您直接需要当前循环中的数据,那么您可以使用
$row['id']
,否则无论您在何处使用此
$rows
您都需要对其进行索引或迭代。“但这会在其他数组中创建关联数组!”-这就是
$rows[]=$row可以
$row
是一个数组,您可以将它推入另一个数组
$rows
,因此,是的,这将在主数组中为每行提供一个数组。你期待什么结果?
$result = $conn->query("SELECT  `id`, `age` FROM `emp` WHERE `id`=1 LIMIT 1"); 
$row = $result->fetch_assoc()