pg_escape_bytea
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
pg_escape_bytea — Maskiert Zeichenketten zum Einfügen in ein Feld vom Typ bytea
Beschreibung
pg_escape_bytea() maskiert data
für den Datentyp bytea und gibt den maskierten String zurück.
Hinweis:
Wenn Daten vom Typ bytea mit
SELECT
abgefragt werden, 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. Bei PostgreSQL 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 PostgreSQL 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
-
Eine PgSql\Connection-Instanz. Falls
connection
nicht angegeben wurde, wird die Standardverbindung benutzt. Das ist die zuletzt mit pg_connect() oder pg_pconnect() aufgebaute Verbindung.WarnungSeit PHP 8.1.0 ist die Verwendung der Standardverbindung veraltet.
-
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 |
---|---|
8.1.0 |
Der Parameter connection erwartet nun eine PgSql\Connection-Instanz;
vorher wurde eine Ressource erwartet.
|
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}')");
?>
Siehe auch
- pg_unescape_bytea() - Entfernt Maskierungen für den Typ bytea
- pg_escape_string() - Maskiert einen String für Abfragen