Function.pg-escape-bytea
Aus PHP-Wiki
pg_escape_bytea — Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea
Inhaltsverzeichnis |
Beschreibung
string pg_escape_bytea ([ resource $connection ], string $data )
pg_escape_bytea() maskiert
data
für den Datentyp bytea und gibt den
maskierten String zurück.
Hinweis:
Wenn Sie mit SELECT Daten vom Typ bytea abfragen, gibt PostgreSQL
die Oktalwerte der einzelnen Datenbytes zurück, denen ein
Backslash vorangestellt ist (z.B. \032). Diese Werte müssen vom
Benutzer in das Binärformat zurückkonvertiert werden.
Diese Funktion setzt PostgreSQL 7.2 oder höher voraus. Mit den
PostgreSQL-Versionen 7.2.0 und 7.2.1 muss der Typ bytea
konvertiert werden, falls die multi-byte-Unterstützung benutzt
wird, z.B. INSERT INTO test_table (image)
VALUES ('$image_escaped'::bytea);. Ab der
PostgreSQL-Version 7.2.2 und höher, muss keine Typkonvertierung
mehr durchgeführt werden. Es sei denn, die Codierungen von Client
und Server passen nicht zusammen, was zu einem multi-byte
Streamfehler führen kann. Um diesen Fehler zu vermeiden, muss
der Stream in den Typ bytea konvertiert werden.
Parameter-Liste
- connection
- PostgreSQL Verbindungskennung. Wenn der Parameter connection nicht angegeben ist, wird die Standardverbindung benutzt. Das ist die Verbindung, die zuletzt von pg_connect() oder pg_pconnect() geöffnete Verbindung.
- data
- Ein string, der Text oder Binärdaten enthält, die in eine Spalte vom Typ bytea eingefügt werden sollen.
Rückgabewerte
Ein string mit den maskierten Daten.
ChangeLog
Version
Beschreibung
5.2.0
Der Parameter connection
wurde hinzugefügt.
Beispiele
Beispiel #1 pg_escape_bytea() Beispiel
<?php // Zur Datenbank verbinden $dbconn = pg_connect('dbname=foo'); // eine Binärdatei auslesen $data = file_get_contents('image1.jpg'); // Die Binärdaten maskieren $escaped = pg_escape_bytea($data); // und in die Datenbank einfügen pg_query("INSERT INTO gallery (name, data) VALUES ('Pine trees', '{$escaped}')"); ?>