函数名:cubrid_unbuffered_query()
适用版本:CUBRID PHP扩展版本 9.1.0 或以上
用法: cubrid_unbuffered_query ( string $query [, resource $conn_identifier ] ) : resource|false
参数:
- query:要执行的SQL查询语句。
- conn_identifier(可选):连接标识符,默认为最近一次使用cubrid_connect()函数返回的标识符。
返回值: 成功时返回结果集的资源标识符(类似于cubrid_query()函数);如果查询失败,则返回false。
说明: cubrid_unbuffered_query() 函数用于执行不带缓冲的SQL查询语句。与cubrid_query()不同,该函数在检索结果时不会将整个结果集加载到内存中,而是逐行获取结果,节省了内存的使用。
示例: 以下示例展示了如何使用cubrid_unbuffered_query()函数执行一个查询,并逐行获取结果集中的数据。
// 建立数据库连接
$conn = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($conn) {
// 执行查询
$result = cubrid_unbuffered_query("SELECT * FROM users", $conn);
if ($result) {
// 逐行获取结果集中的数据
while ($row = cubrid_fetch_assoc($result)) {
echo "ID: " . $row['id'] . ", Name: " . $row['name'] . "<br>";
}
// 释放结果集资源
cubrid_close_request($result);
} else {
echo "查询失败!";
}
// 关闭数据库连接
cubrid_disconnect($conn);
} else {
echo "连接数据库失败!";
}
在上述示例中,我们首先通过cubrid_connect()函数建立与数据库的连接。然后,使用cubrid_unbuffered_query()函数执行一个查询,查询所有用户的ID和名称。随后,使用cubrid_fetch_assoc()函数逐行获取结果集中的数据,并在HTML页面上显示。最后,通过cubrid_close_request()函数释放结果集资源,断开与数据库的连接。如果执行查询或连接数据库失败,则分别输出相应的错误信息。