1
0
mirror of https://github.com/php/doc-fr.git synced 2026-03-26 08:02:09 +01:00
Files
archived-doc-fr/reference/pgsql/functions/pg-fetch-array.xml
George Peter Banyard 7a22a42978 Apply commit 86a02efda4560ee4b35fc870eba6f8c82cec4644
Fix #54863 by clarifying return values
2021-01-10 19:55:38 +00:00

178 lines
5.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 86a02efda4560ee4b35fc870eba6f8c82cec4644 Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pg-fetch-array" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_fetch_array</refname>
<refpurpose>
Lit une ligne de résultat PostgreSQL dans un tableau
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>array</type><methodname>pg_fetch_array</methodname>
<methodparam><type>resource</type><parameter>result</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>row</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>result_type</parameter><initializer>PGSQL_BOTH</initializer></methodparam>
</methodsynopsis>
<para>
<function>pg_fetch_array</function> retourne un tableau qui contient
la ligne demandée.
</para>
<para>
<function>pg_fetch_array</function> est une version évoluée de
<function>pg_fetch_row</function>. En plus de proposer un tableau à
indice numérique, elle peut aussi enregistrer les données
dans un tableau associatif, en utilisant les noms des champs comme
clés. Ces deux fonctions utilisent le tableau associatif par défaut.
</para>
&database.fetch-null;
<para>
<function>pg_fetch_array</function> n'est pas significativement plus lente
que <function>pg_fetch_row</function> et elle apporte un confort
d'utilisation appréciable.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>result</parameter></term>
<listitem>
<para>
Ressource de résultat de requête PostgreSQL, retournée par
<function>pg_query</function>, <function>pg_query_params</function>
ou <function>pg_execute</function> (entre d'autres).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>row</parameter></term>
<listitem>
<para>
Numéro de la ligne à récupérer. Les lignes sont numérotées
en commençant à 0. Si l'argument est omis ou s'il vaut &null;,
la ligne suivante est récupérée.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>result_type</parameter></term>
<listitem>
<para>
Paramètre optionnel qui contrôle comment sera indexé le
<type>array</type> retourné.
<function>pg_fetch_array</function> est une constante, qui peut prendre les
valeurs suivantes : <constant>PGSQL_ASSOC</constant>,
<constant>PGSQL_NUM</constant> et <constant>PGSQL_BOTH</constant>.
En utilisant <constant>PGSQL_NUM</constant>, <function>pg_fetch_array</function>
retourne un tableau avec des indices numériques, en utilisant
<constant>PGSQL_ASSOC</constant> retourne uniquement des indices associatifs
alors que, <constant>PGSQL_BOTH</constant>, la valeur par défaut, retourne
à la fois des indices numériques et associatifs.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un tableau à indice numérique (commençant à 0), associatif (indexé avec
le nom des champs) ou les deux.
Chaque valeur dans le tableau est représentée comme une chaîne
(&string;). Les valeurs &null; de la base de données sont
retournées &null;.
</para>
<para>
&false; est retournée si <parameter>row</parameter> excède le nombre de
lignes dans le jeu de résultats, n'a plus de ligne disponible ou tout
autre erreur.
Tenter de récupérer le résultat d'une requête autre que SELECT retournera aussi &false;.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>pg_fetch_array</function></title>
<programlisting role="php">
<![CDATA[
<?php
$conn = pg_pconnect ("dbname=publisher");
if (!$conn) {
echo "Erreur de connexion.\n";
exit;
}
$result = pg_query ($conn, "SELECT auteur, email FROM auteurs");
if (!$result) {
echo "Erreur durant la requête.\n";
exit;
}
$arr = pg_fetch_array ($result, 0, PGSQL_NUM);
echo $arr[0] . " <- Ligne 1 Auteurs\n";
echo $arr[1] . " <- Ligne 1 E-mail\n";
// Le paramètre row est optionnel ; NULL peut être passé à la place,
// pour passer un result_type. Les appels successifs à pg_fetch_array
// retournera la ligne suivante.
$arr = pg_fetch_array($result, NULL, PGSQL_ASSOC);
echo $arr["auteur"] . " <- Ligne 2 Auteur\n";
echo $arr["email"] . " <- Ligne 2 E-mail\n";
$arr = pg_fetch_array($result);
echo $arr["auteur"] . " <- Ligne 3 Auteur\n";
echo $arr[1] . " <- Ligne 3 E-mail\n";
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_fetch_row</function></member>
<member><function>pg_fetch_object</function></member>
<member><function>pg_fetch_result</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
-->