php-doc-en/reference/sqlsrv/functions/sqlsrv-fetch-array.xml
Adam Harvey 4245a355fa Fix doc bug #62478 (parameters not documented) and use the right elements for
the constants consistently across the various fetch functions that take
offsets.


git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@326727 c90b9560-bf6c-de11-be94-00142212c4b1
2012-07-20 09:02:54 +00:00

197 lines
5.9 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.sqlsrv-fetch-array" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>sqlsrv_fetch_array</refname>
<refpurpose>Returns a row as an array</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>sqlsrv_fetch_array</methodname>
<methodparam><type>resource</type><parameter>stmt</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>fetchType</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>row</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>offset</parameter></methodparam>
</methodsynopsis>
<para>
Returns the next available row of data as an associative array, a numeric
array, or both (the default).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>stmt</parameter></term>
<listitem>
<para>
A statement resource returned by sqlsrv_query or sqlsrv_execute.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>fetchType</parameter></term>
<listitem>
<para>
A predefined constant specifying the type of array to return. Possible
values are <constant>SQLSRV_FETCH_ASSOC</constant>,
<constant>SQLSRV_FETCH_NUMERIC</constant>, and
<constant>SQLSRV_FETCH_BOTH</constant> (the default).
</para>
<para>
A fetch type of SQLSRV_FETCH_ASSOC should not be used when consuming a
result set with multiple columns of the same name.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>row</parameter></term>
<listitem>
<para>
Specifies the row to access in a result set that uses a scrollable cursor.
Possible values are <constant>SQLSRV_SCROLL_NEXT</constant>,
<constant>SQLSRV_SCROLL_PRIOR</constant>, <constant>SQLSRV_SCROLL_FIRST</constant>,
<constant>SQLSRV_SCROLL_LAST</constant>, <constant>SQLSRV_SCROLL_ABSOLUTE</constant> and,
<constant>SQLSRV_SCROLL_RELATIVE</constant> (the default). When this parameter
is specified, the <parameter>fetchType</parameter> must be explicitly defined.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Specifies the row to be accessed if the row parameter is set to
<constant>SQLSRV_SCROLL_ABSOLUTE</constant> or
<constant>SQLSRV_SCROLL_RELATIVE</constant>. Note that the first row in
a result set has index 0.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns an array on success, &null; if there are no more rows to return, and
&false; if an error occurs.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Retrieving an associative array.</title>
<programlisting role="php">
<![CDATA[
<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC) ) {
echo $row['LastName'].", ".$row['FirstName']."<br />";
}
sqlsrv_free_stmt( $stmt);
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Retrieving a numeric array.</title>
<programlisting role="php">
<![CDATA[
<?php
$serverName = "serverName\instanceName";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo );
if( $conn === false ) {
die( print_r( sqlsrv_errors(), true));
}
$sql = "SELECT FirstName, LastName FROM SomeTable";
$stmt = sqlsrv_query( $conn, $sql );
if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
while( $row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
echo $row[0].", ".$row[1]."<br />";
}
sqlsrv_free_stmt( $stmt);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<para>
Not specifying the <parameter>fetchType</parameter> or explicity using the
<constant>SQLSRV_FETCH_TYPE</constant> constant in the examples above will
return an array that has both associative and numeric keys.
</para>
<para>
If more than one column is returned with the same name, the last column will
take precedence. To avoid field name collisions, use aliases.
</para>
<para>
If a column with no name is returned, the associative key for the array element
will be an empty string ("").
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>sqlsrv_connect</function></member>
<member><function>sqlsrv_query</function></member>
<member><function>sqlsrv_errors</function></member>
<member><function>sqlsrv_fetch</function></member>
</simplelist>
</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:"~/.phpdoc/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
-->