mysql_unbuffered_query
向MySQL 發送一條SQL 查詢(不獲取/緩存結果)。
函數名:mysql_unbuffered_query()
適用版本:PHP 5.0.0 - PHP 5.6.x
用法:mysql_unbuffered_query() 函數執行一條不帶緩衝的SQL 查詢,並返回結果資源,該資源可以用於逐行獲取查詢結果。這個函數適合於處理大量數據,因為它不會一次性將查詢結果加載到內存中,而是逐行獲取結果,從而減少內存消耗。
語法:resource mysql_unbuffered_query ( string $query [, resource $link_identifier = NULL ] )
參數:
返回值:如果查詢執行成功,則返回結果資源,否則返回false。
示例:
<?php // 创建数据库连接 $link = mysql_connect("localhost", "username", "password"); if (!$link) { die("连接数据库失败: " . mysql_error()); } // 选择数据库 $db_selected = mysql_select_db("mydatabase", $link); if (!$db_selected) { die("选择数据库失败: " . mysql_error()); } // 执行不带缓冲的查询 $result = mysql_unbuffered_query("SELECT * FROM mytable", $link); if (!$result) { die("查询失败: " . mysql_error()); } // 逐行获取查询结果 while ($row = mysql_fetch_assoc($result)) { echo "ID: " . $row['id'] . ", Name: " . $row['name'] . "上述示例中,我們首先創建了數據庫連接,然後選擇了要使用的數據庫。接下來,我們使用mysql_unbuffered_query()函數執行了一條不帶緩衝的查詢,查詢返回了一個結果資源。我們通過mysql_fetch_assoc()函數逐行獲取查詢結果,並打印出每行的ID和Name。最後,我們釋放了結果資源並關閉了數據庫連接。
請注意,在PHP 7.0.0版本之後,mysql_unbuffered_query()函數已被棄用,並且在PHP 7.4.0版本之後已被移除。取而代之的是mysqli_unbuffered_query()函數和PDO::query()方法。如果你使用的是PHP 7或更高版本,建議使用新的MySQL擴展或PDO來執行不帶緩衝的查詢。