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}')");
?>
기타
- pg_unescape_bytea() - 바이트 유형에 대한 이진 이스케이프 해제
- pg_escape_string() - 쿼리를 위한 이스케이프 문자열