PHP8 cubrid_fetch
(PECL CUBRID >= 8.3.0)
cubrid_fetch — 从结果集中提取下一行
说明
cubrid_fetch(resource $result, int $type = CUBRID_BOTH): mixed
cubrid_fetch() 函数用于从查询结果中获取单行。光标在获得结果后自动移动到下一行。
参数
result
result
来自对 cubrid_execute() 的调用type
获取结果的数组类型 CUBRID_NUM、CUBRID_ASSOC、 CUBRID_BOTH,CUBRID_OBJECT。如果要操作 lob 对象,可以 使用CUBRID_LOB。
返回值
结果数组或对象,当进程成功时。
false,当没有更多行时;NULL,当进程不成功时。
结果可以作为数组或对象接收,您可以通过设置参数来决定要使用的数据类型。该变量可以设置为以下值之一:typetype
- CUBRID_NUM:数值数组(从0开始)
- CUBRID_ASSOC : 关联数组
- CUBRID_BOTH:数值和关联数组(默认)
- CUBRID_OBJECT:将属性名称作为查询结果列名的对象
省略参数时,将默认使用 CUBRID_BOTH 选项接收结果。当您希望接收对象数据类型的查询结果时,结果的列名必须遵循 PHP 中标识符的命名规则。例如,不能在对象类型中接收列名,例如“count(*)”。type
示例
示例 #1 cubrid_fetch() example
<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT * FROM stadium WHERE nation_code='GRE' AND seats > 10000");
printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch($req)) {
printf("%-40s %-10s %-6s %-20s\n",
$row["name"], $row["area"], $row["seats"], $row["address"]);
}
// if you want to operate lob object, you can use cubrid_fetch($req, CUBRID_LOB)
cubrid_close_request($req);
cubrid_disconnect($conn);
?>
以上示例会输出:
name area seats address Panathinaiko Stadium 86300.00 50000 Athens, Greece Olympic Stadium 54700.00 13000 Athens, Greece Olympic Indoor Hall 34100.00 18800 Athens, Greece Olympic Hall 52400.00 21000 Athens, Greece Olympic Aquatic Centre 42500.00 11500 Athens, Greece Markopoulo Olympic Equestrian Centre 64000.00 15000 Markopoulo, Athens, Greece Faliro Coastal Zone Olympic Complex 34650.00 12171 Faliro, Athens, Greece Athens Olympic Stadium 120400.00 71030 Maroussi, Athens, Greece Ano Liossia 34000.00 12000 Ano Liosia, Athens, Greece
参见
- cubrid_execute() - 执行准备好的 SQL 语句
- cubrid_fetch_array() - 将结果行提取为关联数组和/或数值数组
- cubrid_fetch_row() - 返回包含当前行值的数字数组
- cubrid_fetch_assoc() - 返回与提取的行相对应的关联数组
- cubrid_fetch_object() - 获取下一行并将其作为对象返回