1

有不同的方法,如何使用 PHP 获取和打印 MySQL 数据。

例如,您可以使用 PHP 循环逐行获取数据:

$result = $mysqli->query("SELECT * FROM `table`");

while($data = $result->fetch_assoc())
{
  echo '<div>'. $data["field"] .'</div>';
}

此外,您可以将所有选定的数据存储到数组中,然后通过它:

$result = $mysqli->query("SELECT * FROM `table`");
$data = $result->fetch_all(MYSQLI_ASSOC);

foreach($data as $i => $array)
{
  echo '<div>'. $array["field"] .'</div>';
}

有什么严重的原因,为什么我应该使用一种方法而不是另一种方法?如果数据库非常庞大,性能又如何呢?

4

1 回答 1

1

在第一个示例中,每次执行循环时都会while($data = $result->fetch_assoc())调用该函数。fetch_assoc第二个只调用fetch_all一次,将数据存储在一个数组中,然后再使用它。所以,理论上第二种方法应该更快,但是你最好做一个简单的基准测试来确定。

于 2013-02-03T11:02:13.413 回答