<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <!-- splitted from ./en/functions/pgsql.xml, last change in rev 1.61 --> <refentry xml:id='function.pg-unescape-bytea' xmlns="http://docbook.org/ns/docbook"> <refnamediv> <refname>pg_unescape_bytea</refname> <refpurpose> Unescape binary for bytea type </refpurpose> </refnamediv> <refsect1 role="description"> &reftitle.description; <methodsynopsis> <type>string</type><methodname>pg_unescape_bytea</methodname> <methodparam><type>string</type><parameter>data</parameter></methodparam> </methodsynopsis> <para> <function>pg_unescape_bytea</function> unescapes PostgreSQL bytea data values. It returns the unescaped string, possibly containing binary data. </para> <note> <para> When you <literal>SELECT</literal> a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032). Users are supposed to convert back to binary format manually. </para> <para> This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must be cast when you enable multi-byte support. i.e. <literal>INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea);</literal> PostgreSQL 7.2.2 or later does not need a cast. The exception is when the client and backend character encoding does not match, and there may be multi-byte stream error. User must then cast to bytea to avoid this error. </para> </note> </refsect1> <refsect1 role="parameters"> &reftitle.parameters; <para> <variablelist> <varlistentry> <term><parameter>data</parameter></term> <listitem> <para> A <type>string</type> containing PostgreSQL bytea data to be converted into a PHP binary string. </para> </listitem> </varlistentry> </variablelist> </para> </refsect1> <refsect1 role="returnvalues"> &reftitle.returnvalues; <para> A <type>string</type> containing the unescaped data. </para> </refsect1> <refsect1 role="examples"> &reftitle.examples; <para> <example> <title><function>pg_unescape_bytea</function> example</title> <programlisting role="php"> <![CDATA[ <?php // Connect to the database $dbconn = pg_connect('dbname=foo'); // Get the bytea data $res = pg_query("SELECT data FROM gallery WHERE name='Pine trees'"); $raw = pg_fetch_result($res, 'data'); // Convert to binary and send to the browser header('Content-type: image/jpeg'); echo pg_unescape_bytea($raw); ?> ]]> </programlisting> </example> </para> </refsect1> <refsect1 role="changelog"> &reftitle.changelog; <para> <informaltable> <tgroup cols="2"> <thead> <row> <entry>&Version;</entry> <entry>&Description;</entry> </row> </thead> <tbody> <row> <entry>5.5.1</entry> <entry> A warning is thrown if the input string is invalid. </entry> </row> </tbody> </tgroup> </informaltable> </para> </refsect1> <refsect1 role="seealso"> &reftitle.seealso; <para> <simplelist> <member><function>pg_escape_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 -->