PHP mysql_unbuffered_query() funktion
Definition och användning
mysql_unbuffered_query() funktionen skickar en SQL-fråga till MySQL (utan att hämta / cacha resultaten).
Syntaks
mysql_unbuffered_query(query,connection)
Parameter | Beskrivning |
---|---|
query | Obligatoriskt. Ange den SQL-fråga som ska skickas. Notering: Frågestringen bör inte avslutas med ett semikolon. |
connection | Valfritt. Ange SQL-anslutningsidentifierare. Om inte angivet används den senast öppnade anslutningen. |
Förklaring
mysql_unbuffered_query() skickar en SQL-fråga query till MySQL, men lika mysql_query() 那样自动获取并缓存结果集。一方面,这在处理很大的结果集时会节省可观的内存。另一方面,可以在获取第一行后立即对结果集进行操作,而不用等到整个 SQL 语句都执行完毕。
当使用多个数据库连接时,必须指定可选参数 connection。
提示和注释
注释:mysql_unbuffered_query() 的好处是有代价的:在 mysql_unbuffered_query() 返回的结果集之上不能使用 mysql_num_rows() 和 mysql_data_seek()。此外在向 MySQL 发送一条新的 SQL 查询之前,必须提取所有未缓存的 SQL 查询所产生的结果行。
实例
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die('Could not connect: ' . mysql_error()); } // 大型查询 $sql = "SELECT * FROM Person"; mysql_unbuffered_query($sql,$con); // 开始处理数据... mysql_close($con); ?>