1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214
|
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.6 $ -->
<!-- splitted from ./en/functions/sesam.xml, last change in rev 1.1 -->
<refentry id="function.sesam-field-array">
<refnamediv>
<refname>sesam_field_array</refname>
<refpurpose>
Return meta information about individual columns in a result
</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>array</type><methodname>sesam_field_array</methodname>
<methodparam><type>string</type><parameter>result_id</parameter></methodparam>
</methodsynopsis>
<para>
<parameter>result_id</parameter> is a valid result id returned by
<function>sesam_query</function>.
</para>
<para>
Returns a mixed associative/indexed array with meta information
(column name, type, precision, ...) about individual columns of
the result after the query associated with
<parameter>result_id</parameter>.
</para>
<para>
<table>
<title>
Mixed result set returned by <function>sesam_field_array</function>
</title>
<tgroup cols="2">
<thead>
<row>
<entry>Array Element</entry>
<entry>Contents</entry>
</row>
</thead>
<tbody>
<row>
<entry>int $arr["count"]</entry>
<entry>
Total number of columns in result set (or zero if this was
an "immediate" query). SESAM "multiple fields" are
"inlined" and treated like the respective number of columns.
</entry>
</row>
<row>
<entry>string $arr[col]["name"]</entry>
<entry>
column name for column(<literal>col</literal>), where
<literal>col</literal> is between 0 and
<literal>$arr["count"]-1</literal>. The returned value can
be the empty string (for dynamically computed
columns). SESAM "multiple fields" are "inlined" and treated
like the respective number of columns, each with the same
column name.
</entry>
</row>
<row>
<entry>string $arr[col]["count"]</entry>
<entry>
The "count" attribute describes the repetition factor when
the column has been declared as a "multiple field". Usually,
the "count" attribute is 1. The first column of a "multiple
field" column however contains the number of repetitions
(the second and following column of the "multiple field"
contain a "count" attribute of 1). This can be used to
detect "multiple fields" in the result set. See the example
shown in the <function>sesam_query</function> description
for a sample use of the "count" attribute.
</entry>
</row>
<row>
<entry>string $arr[col]["type"]</entry>
<entry>
PHP variable type of the data for
column(<literal>col</literal>), where <literal>col</literal>
is between 0 and <literal>$arr["count"]-1</literal>. The
returned value can be one of
<itemizedlist>
<listitem>
<simpara><type>integer</type></simpara>
</listitem>
<listitem>
<simpara><type>float</type></simpara>
</listitem>
<listitem>
<simpara><type>string</type></simpara>
</listitem>
</itemizedlist>
depending on the SQL type of the result. SESAM "multiple
fields" are "inlined" and treated like the respective number
of columns, each with the same PHP type.
</entry>
</row>
<row>
<entry>string $arr[col]["sqltype"]</entry>
<entry>
SQL variable type of the column data for
column(<literal>col</literal>), where <literal>col</literal>
is between 0 and <literal>$arr["count"]-1</literal>. The
returned value can be one of
<itemizedlist>
<listitem>
<simpara>"CHARACTER"</simpara>
</listitem>
<listitem>
<simpara>"VARCHAR"</simpara>
</listitem>
<listitem>
<simpara>"NUMERIC"</simpara>
</listitem>
<listitem>
<simpara>"DECIMAL"</simpara>
</listitem>
<listitem>
<simpara>"INTEGER"</simpara>
</listitem>
<listitem>
<simpara>"SMALLINT"</simpara>
</listitem>
<listitem>
<simpara>"FLOAT"</simpara>
</listitem>
<listitem>
<simpara>"REAL"</simpara>
</listitem>
<listitem>
<simpara>"DOUBLE"</simpara>
</listitem>
<listitem>
<simpara>"DATE"</simpara>
</listitem>
<listitem>
<simpara>"TIME"</simpara>
</listitem>
<listitem>
<simpara>"TIMESTAMP"</simpara>
</listitem>
</itemizedlist>
describing the SQL type of the result. SESAM "multiple
fields" are "inlined" and treated like the respective number
of columns, each with the same SQL type.
</entry>
</row>
<row>
<entry>string $arr[col]["length"]</entry>
<entry>
The SQL "length" attribute of the SQL variable in
column(<literal>col</literal>), where <literal>col</literal>
is between 0 and <literal>$arr["count"]-1</literal>. The
"length" attribute is used with "CHARACTER" and "VARCHAR"
SQL types to specify the (maximum) length of the string
variable. SESAM "multiple fields" are "inlined" and treated
like the respective number of columns, each with the same
length attribute.
</entry>
</row>
<row>
<entry>string $arr[col]["precision"]</entry>
<entry>
The "precision" attribute of the SQL variable in
column(<literal>col</literal>), where <literal>col</literal>
is between 0 and <literal>$arr["count"]-1</literal>. The
"precision" attribute is used with numeric and time data
types. SESAM "multiple fields" are "inlined" and treated
like the respective number of columns, each with the same
precision attribute.
</entry>
</row>
<row>
<entry>string $arr[col]["scale"]</entry>
<entry>
The "scale" attribute of the SQL variable in
column(<literal>col</literal>), where <literal>col</literal>
is between 0 and <literal>$arr["count"]-1</literal>. The
"scale" attribute is used with numeric data types. SESAM
"multiple fields" are "inlined" and treated like the
respective number of columns, each with the same scale
attribute.
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
See also <function>sesam_query</function> for an example
of the <function>sesam_field_array</function> use.
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|