Untitled Document

Учебник РНР
НазадВперёд

sesam_fetch_array

(только PHP 3 CVS)

sesam_fetch_array - извлекает один ряд как ассоциативный массив.

Описание

array sesam_fetch_array (string result_id [, int whence [, int offset]])

Возвращает массив, соответствующий извлечённому ряду, или FALSE, если рядов больше нет.

sesam_fetch_array() это альтернативная версия sesam_fetch_row(). Вместо хранения данных в числовых индексах результирующего массива, она хранит их в ассоциативных индексах, используя в качестве ключей имена полей.

result_id это правильный результирующий идентификатор, возвращаемый функцией sesam_query() (только запросы типа select!).

О правильных значениях необязательных параметров whence и offset см. sesam_fetch_row().

sesam_fetch_array() извлекает один ряд данных из результата, ассоциированного со специфицированным результирующим идентификатором. Ряд возвращается как ассоциативный массив. Каждый столбец результата хранится с ассоциативным индексом, равным имени столбца (поля). Имена столбцов конвертируются в нижний регистр.

Столбцы без имени поля (например, результаты арифметических операций) и пустые поля не хранятся в этом массиве. Также, если два или более столбца результата имеют одинаковые имена столбцов, последний столбец имеет преимущество. В этой ситуации вызывайте sesam_fetch_row() или создайте псевдоним для столбца.
SELECT 
TBL1.COL AS FOO, TBL2.COL AS BAR FROM TBL1, TBL2

Специальная обработка даёт возможность извлекать "multiple field/многопольные" столбцы (которые иначе все имели бы одинаковые имена столбцов). Для каждого "multiple field"-столбца конструируется имя индекса путём присоединения строки "(n)", где n это субиндекс multiple field-столбца, в диапазоне от 1 до объявленного фактора повтора. Эти индексы - НЕ на базе 0, чтобы соответствовать номенклатуре синтаксиса соответствующего запроса/query. Для столбца, объявленного:
CREATE TABLE ... ( ... MULTI(3) INT )

ассоциативные индексы, используемые для отдельных "multiple field"-столбцов, будут "multi(1)", "multi(2)" и "multi(3)" соответственно.

Последующие вызовы sesam_fetch_array() возвратят следующий (или предыдущий, или n'ный следующий/предыдущий, в зависимости от атрибутов прокрутки) ряд результирующего набора, или FALSE, если рядов больше нет.

Пример 1. Массив извлечения SESAM
<?php 
$result = sesam_query ("SELECT * FROM phone\n". " WHERE LASTNAME='".strtoupper($name)."'\n". 
" ORDER BY FIRSTNAME", 1); if (!$result) { ... error ... } // print the table: 
print "<TABLE BORDER>\n"; while (($row = sesam_fetch_array ($result)) 
&& count ($row) > 0) { print " <TR>\n"; print " <TD>".htmlspecialchars 
($row["firstname"])."</TD>\n"; print " <TD>".htmlspecialchars 
($row["lastname"])."</TD>\n"; print " <TD>".htmlspecialchars ($row["phoneno"])."</TD>\n"; 
print " </TR>\n"; } print "</TABLE>\n"; sesam_free_result ($result); 
?>

См. также sesam_fetch_row(), которая возвращает индексированный массив.


НазадОглавление Вперёд
sesam_execimmВверхsesam_fetch_result
Ядерное оружие | Графика | Математика | Физика | Заказать курсовую | Информатика | ТКМ | Электротехника | Атомная энергетика | Лекции