Files
doc-fr/reference/pgsql/functions/pg-escape-bytea.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

148 lines
4.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c2eca73ef79ebe78cebb34053e41b565af504c4f Maintainer: yannick Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pg-escape-bytea" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pg_escape_bytea</refname>
<refpurpose>
Protège une chaîne pour insertion dans un champ bytea
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>pg_escape_bytea</methodname>
<methodparam choice="opt"><type>PgSql\Connection</type><parameter>connection</parameter></methodparam>
<methodparam><type>string</type><parameter>data</parameter></methodparam>
</methodsynopsis>
<para>
<function>pg_escape_bytea</function> protège les caractères de la
chaîne <parameter>data</parameter> avec le mode bytea. La chaîne
protégée est retournée.
</para>
<note>
<para>
Lorsque vous utilisez une commande <literal>SELECT</literal> avec des données de type bytea,
PostgreSQL retourne des valeurs octales, préfixées avec des antislashs
'\' (par exemple \032). Les utilisateurs doivent effectuer la conversion en
format binaire manuellement.
</para>
<para>
<function>pg_escape_bytea</function> requiert PostgreSQL 7.2 ou plus récent. Avec
PostgreSQL 7.2.0 et 7.2.1, les données bytea doivent être transtypée
lorsque vous activez le support des chaînes de caractères multioctets.
C'est-à-dire <literal>INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);</literal>.
PostgreSQL 7.2.2 ou plus récent ne requiert pas cette manipulation.
Toutefois, si le client et le serveur n'utilisent pas le même jeu de caractères,
il peut arriver des erreurs. Il faut alors forcer le transtypage
manuellement.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>connection</parameter></term>
<listitem>
&pgsql.parameter.connection-with-unspecified-default;
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>data</parameter></term>
<listitem>
<para>
Une &string; contenant du texte ou des données binaires qui seront
insérées dans la colonne bytea.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Une &string; contenant les données échappées.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
&pgsql.changelog.connection-object;
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>pg_escape_bytea</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Connexion à la base de données
$dbconn = pg_connect('dbname=foo');
// Lecture d'un fichier binaire
$data = file_get_contents('image1.jpg');
// Échappement des données binaires
$escaped = pg_escape_bytea($data);
// Insertion dans la base de données
pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')");
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>pg_unescape_bytea</function></member>
<member><function>pg_escape_string</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
-->