File: pg-escape-bytea.xml

package info (click to toggle)
php-doc 20100521-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze, wheezy
  • size: 59,992 kB
  • ctags: 4,085
  • sloc: xml: 796,833; php: 21,338; cpp: 500; sh: 117; makefile: 58; awk: 28
file content (154 lines) | stat: -rw-r--r-- 4,228 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 297028 $ -->
<!-- splitted from ./en/functions/pgsql.xml, last change in rev 1.61 -->
<refentry xml:id='function.pg-escape-bytea' xmlns="http://docbook.org/ns/docbook">
 <refnamediv>
  <refname>pg_escape_bytea</refname>
  <refpurpose>
   Escape a string for insertion into a bytea field
  </refpurpose>
 </refnamediv>

 <refsect1 role="description">
  &reftitle.description;
  <methodsynopsis>
   <type>string</type><methodname>pg_escape_bytea</methodname>
   <methodparam choice="opt"><type>resource</type><parameter>connection</parameter></methodparam>
   <methodparam><type>string</type><parameter>data</parameter></methodparam>
  </methodsynopsis>
  <para>
   <function>pg_escape_bytea</function> escapes string for
   bytea datatype.  It returns escaped string.
  </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>connection</parameter></term>
     <listitem>
      <para>
       PostgreSQL database connection resource.  When 
       <parameter>connection</parameter> is not present, the default connection 
       is used. The default connection is the last connection made by 
       <function>pg_connect</function> or <function>pg_pconnect</function>.
      </para>
     </listitem>
    </varlistentry>
    <varlistentry>
     <term><parameter>data</parameter></term>
     <listitem>
      <para>
       A <type>string</type> containing text or binary data to be inserted into a bytea
       column.
      </para>
     </listitem>
    </varlistentry>
   </variablelist>
  </para>
 </refsect1>

 <refsect1 role="returnvalues">
  &reftitle.returnvalues;
  <para>
   A <type>string</type> containing the escaped data.
  </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.2.0</entry>
       <entry><parameter>connection</parameter> added</entry>
      </row>
     </tbody>
    </tgroup>
   </informaltable>
  </para>
 </refsect1>

 <refsect1 role="examples">
  &reftitle.examples;
  <para>
   <example>
    <title><function>pg_escape_bytea</function> example</title>
    <programlisting role="php">
<![CDATA[
<?php 
  // Connect to the database
  $dbconn = pg_connect('dbname=foo');
  
  // Read in a binary file
  $data = file_get_contents('image1.jpg');
  
  // Escape the binary data
  $escaped = pg_escape_bytea($data);
  
  // Insert it into the database
  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
-->