3
如何將mysql_query中的所有行添加到mysql_fetch_array()?我希望能夠儘可能有效地做到這一點,因爲它可以用很多行工作。mysql_fetch_array添加所有行?
如何將mysql_query中的所有行添加到mysql_fetch_array()?我希望能夠儘可能有效地做到這一點,因爲它可以用很多行工作。mysql_fetch_array添加所有行?
最常見的方式:
$rows = array();
while(($row = mysql_fetch_array($result))) {
$rows[] = $row;
}
<?php
$db = new mysqli("localhost", "foo_dbo", "pass", "foo_db", 3306);
$startTime = microtime(true);
$result = $db->query("select * from users");
$users = $result->fetch_all(MYSQLI_ASSOC); // faster
// while($row = $result->fetch_assoc()) $users[] = $row; //slower
echo sprintf("%d users fetched in %s secs",
count($users), number_format(microtime(true) - $startTime, 6, ".", ""));
$db->close();
?>
編輯一些運行時統計
$users = $result->fetch_all()
1000 users fetched in 0.001462 secs
5000 users fetched in 0.005493 secs
15000 users fetched in 0.015517 secs
50000 users fetched in 0.051950 secs
100000 users fetched in 0.103647 secs
與
while($row = $result->fetch_assoc()) $users[] = $row;
1000 users fetched in 0.001945 secs
5000 users fetched in 0.008101 secs
15000 users fetched in 0.023481 secs
50000 users fetched in 0.081441 secs
100000 users fetched in 0.163282 secs
有趣:)
我不明白你想要做什麼。請澄清你的問題。你想總結某些行值嗎? – 2011-01-10 03:01:55
有什麼不對的標準`而($行= mysql_fetch_assoc($結果)){回聲$行[ '身份證']; }`? – thirtydot 2011-01-10 03:03:14
不,只需用mysql_query()創建一個嵌套數組。我猜mysql_fetch_array()只能得到一行,我需要得到它們。 – 2011-01-10 03:03:18