(PECL CUBRID >=8.3.0)
cubrid_fetch_array — Извлекает строки из результирующего набора в виде ассоциативного массива, индексного массива или обоих сразу
Функция cubrid_fetch_array() извлекает одну строку из результирующего набора. После извлечения курсор автоматически передвинется на следующую строку.
result
Значение result
, которое вернула
функция cubrid_execute().
type
Тип массива для извлечения: CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH. Если вам нужно оперировать объектами типа LOB - используйте CUBRID_LOB.
Возвращает массив строк, соответствующий извлечённой строке, в случае успешного выполнения.
false
, если строк больше нет; NULL, когда процесс завершается с ошибкой.
Тип возвращаемого массива зависит от заданного типа. По умолчанию используется
CUBRID_BOTH, что ведёт к извлечению как ассоциативного, так и индексированного
массивов, но это поведение можно переопределить параметром
type
. Значения, допустимые для параметра
type
:
Пример #1 Пример использования функции cubrid_fetch_array()
<?php
$conn = cubrid_connect("localhost", 33000, "demodb");
$req = cubrid_execute($conn, "SELECT name,area,seats,address FROM stadium WHERE nation_code='GRE' AND seats > 10000");
printf("%-40s %-10s %-6s %-20s\n", "name", "area", "seats", "address");
while ($row = cubrid_fetch_array($req, CUBRID_NUM)) {
printf("%-40s %-10s %-6s %-20s\n", $row[0], $row[1], $row[2], $row[3]);
}
// Если вам нужно оперировать объектами LOB - используйте
// cubrid_fetch_array($req, CUBRID_NUM | 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