该函数适用于 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>
代码说明: