Files
doc-fr/reference/pgsql/functions/pg-fetch-object.xml
George Peter Banyard 8e82164d85 Apply commit c2eca73ef79ebe78cebb34053e41b565af504c4f
[PHP 8.1] Use PgSql objects instead of resources
2021-10-16 20:03:39 +01:00

178 lines
5.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c2eca73ef79ebe78cebb34053e41b565af504c4f Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pg-fetch-object" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_fetch_object</refname>
<refpurpose>
Lit une ligne de résultat PostgreSQL dans un objet
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>object</type><type>false</type></type><methodname>pg_fetch_object</methodname>
<methodparam><type>PgSql\Result</type><parameter>result</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>row</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>string</type><parameter>class</parameter><initializer>"stdClass"</initializer></methodparam>
<methodparam choice="opt"><type>array</type><parameter>constructor_args</parameter><initializer>[]</initializer></methodparam>
</methodsynopsis>
<para>
<function>pg_fetch_object</function> retourne un objet ainsi que ses
propriétés qui correspond aux noms des champs de la ligne. La fonction
peut optionnellement instancier un objet d'une classe spécifique et passer
les paramètres au constructeur de cette classe.
</para>
&database.fetch-null;
<para>
Du point de vue vitesse, la fonction est identique à
<function>pg_fetch_array</function> et est presque aussi rapide que
<function>pg_fetch_row</function> (la différence est insignifiante).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>result</parameter></term>
<listitem>
&pgsql.parameter.result;
</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>class</parameter></term>
<listitem>
<para>
Le nom de la classe à instancier, fixe les propriétés de celles-ci et
ses valeurs de retour. Si rien n'est spécifié, un objet de style
<classname>stdClass</classname> est retourné.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>constructor_args</parameter></term>
<listitem>
<para>
Paramètre optionnel de type <type>array</type> pour passer des
arguments au constructeur de la classe
<parameter>class</parameter>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Un objet de type <type>object</type> avec les attributs pour chaque champ
dans le jeu de résultats.
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.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.result-object;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>pg_fetch_object</function></title>
<programlisting role="php">
<![CDATA[
<?php
$database = 'store';
$db_conn = pg_connect("host=localhost port=5432 dbname=$database");
if (!$db_conn) {
echo "La connexion a la base $database a échouée\n";
exit;
}
$qu = pg_query($db_conn, "SELECT * FROM livres ORDER BY auteur");
while ($data = pg_fetch_object($qu)) {
echo $data->auteur . " (";
echo $data->annee . "): ";
echo $data->titre . "<br />";
}
pg_free_result($qu);
pg_close($db_conn);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_query</function></member>
<member><function>pg_fetch_array</function></member>
<member><function>pg_fetch_assoc</function></member>
<member><function>pg_fetch_row</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
-->