pg_escape_bytea

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

pg_escape_bytea — 바이트 필드에 삽입하기 위해 문자열을 이스케이프 처리합니다.


설명

pg_escape_bytea(PgSql\Connection $connection = ?, string $data): string

pg_escape_bytea() 바이트 데이터 유형에 대한 문자열을 이스케이프합니다. 이스케이프된 문자열을 반환합니다.

메모:

바이트 유형을 SELECT하면 PostgreSQL은 '\' 접두사가 붙은 8진수 바이트 값을 반환합니다(예: \032). 사용자는 수동으로 바이너리 형식으로 다시 변환해야 합니다.

이 함수를 사용하려면 PostgreSQL 7.2 이상이 필요합니다. PostgreSQL 7.2.0 및 7.2.1에서는 멀티바이트 지원을 활성화할 때 바이트 값을 캐스팅해야 합니다. 즉, INSERT INTO test_table (image) VALUES ('$image_escaped'::bytea); PostgreSQL 7.2.2 이상에서는 캐스트가 필요하지 않습니다. 예외는 클라이언트와 백엔드 문자 인코딩이 일치하지 않고 멀티바이트 스트림 오류가 있을 수 있는 경우입니다. 그런 다음 사용자는 이 오류를 방지하기 위해 바이트로 캐스트해야 합니다.


매개변수

connection
PgSql\Connection 인스턴스. connection을 지정하지 않으면 기본 연결이 사용됩니다. 기본 연결은 pg_connect() 또는 pg_pconnect()에 의해 만들어진 마지막 연결입니다.
data
바이트열 열에 삽입할 텍스트 또는 이진 데이터를 포함하는 문자열입니다.

반환 값

이스케이프된 데이터가 포함된 문자열입니다.


변경 로그

버전 설명
8.1.0 connection 매개변수는 이제 PgSql\Connection 인스턴스를 필요로 합니다. 이전에는 리소스가 필요했습니다.

Examples

예제 #1 pg_escape_bytea() 예제

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

기타