Forum und email

pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5)

pg_escape_bytea — Maskiert Binärdaten zum Einfügen in ein Feld vom Typ bytea

Beschreibung

string pg_escape_bytea ( 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

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.

Beispiele

Example#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}')");
?>