该函数适用于 PHP 版本 4.x 到 5.x。请注意,在 PHP 5.5.0 之后,MySQL 扩展被标记为过时,并且在 PHP 7.0.0 中被完全移除。建议使用 MySQLi 或 PDO 来替代。
mysql_unbuffered_query 函数用于执行一个不缓存查询的 MySQL 查询。在默认情况下,MySQL 查询会缓存查询结果并将其保留在内存中,而使用此函数时查询结果将不会被缓存在内存中,这在某些场景下(例如执行大量数据的查询)可以提高性能。
mysql_unbuffered_query(query, link_identifier)
成功时,返回一个 MySQL 查询结果资源;失败时,返回 false。
假设你需要从数据库中查询大量的数据,并且不需要立即获取查询结果,可以使用此函数来执行查询并在稍后的某个时间点获取结果。
以下代码展示了如何使用 mysql_unbuffered_query 来执行一个不缓存的查询,并通过 mysql_fetch_assoc 获取查询结果。
示例代码:
<?php
// 建立 MySQL 连接
$link = mysql_connect("localhost", "username", "password");
if (!$link) {
die('Could not connect: ' . mysql_error());
}
<p>// 选择数据库<br>
mysql_select_db("my_database", $link);</p>
<p>// 执行不缓存的查询<br>
$query = "SELECT id, name FROM users LIMIT 1000";<br>
$result = mysql_unbuffered_query($query, $link);</p>
<p>// 处理查询结果<br>
while ($row = mysql_fetch_assoc($result)) {<br>
echo "ID: " . $row['id'] . " Name: " . $row['name'] . "<br>";<br>
}</p>
<p>// 关闭连接<br>
mysql_close($link);<br>
?><br>
代码说明: