pg_escape_bytea
Escape a string for insertion into a bytea field
Description
string pg_escape_bytea(PgSql\Connection $connection
= ?, string $data
)
Note:
When you SELECT
a bytea type, PostgreSQL returns octal byte values
prefixed with '\' (e.g. \032). Users are supposed to convert back to
binary format manually.
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. INSERT INTO test_table (image)
VALUES ('$image_escaped'::bytea);
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.
Parameters
-
connection
-
An PgSql\Connection instance.
When connection
is unspecified, the default connection is used.
The default connection is the last connection made by pg_connect
or pg_pconnect.
WarningAs of PHP 8.1.0, using the default connection is deprecated.
-
data
-
A string containing text or binary data to be inserted into a bytea
column.
Return Values
A string containing the escaped data.
Examples
Example #1 pg_escape_bytea example
<?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}')");
?>
See Also
- pg_unescape_bytea
- pg_escape_string