Delicious Bookmark this on Delicious Share on Facebook SlashdotSlashdot It! Digg! Digg



PHP : Function Reference : PostgreSQL Functions : pg_escape_bytea

pg_escape_bytea

Escape a string for insertion into a bytea field (PHP 4 >= 4.2.0, PHP 5)
string pg_escape_bytea ( [resource connection, string data] )

Example 1916. pg_escape_bytea() example

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

Code Examples / Notes » pg_escape_bytea

mocha

to unescape_bytea use stripcslashes(). If you need to escape bytea and don't have pg_escape_bytea() function then use:
function escByteA($binData) {
 /**
  * \134 = 92 = backslash, \000 = 00 = NULL, \047 = 39 = Single Quote
  *
  * str_replace() replaces the searches array in order. Therefore, we must
  * process the 'backslash' character first. If we process it last, it'll
  * replace all the escaped backslashes from the other searches that came
  * before.
  */
 $search = array(chr(92), chr(0), chr(39));
 $replace = array('\\\134', '\\\000', '\\\047');
 $binData = str_replace($search, $replace, $binData);
 return $binData;
 //echo "<pre>$binData</pre>";
 //exit;
}


php

if you need to change back bytea from the db to normal data, this will do that:
function pg_unescape_bytea($bytea) {
return eval("return \"".str_replace('$', '\\$', str_replace('"', '\\"', $bytea))."\";");
}
// use like this
$rs = pg_query($conn, "SELECT image from images LIMIT 1");
$image = pg_unescape_bytea(pg_fetch_result($rs, 0, 0));
/Tobias


Change Language


Follow Navioo On Twitter
pg_affected_rows
pg_cancel_query
pg_client_encoding
pg_close
pg_connect
pg_connection_busy
pg_connection_reset
pg_connection_status
pg_convert
pg_copy_from
pg_copy_to
pg_dbname
pg_delete
pg_end_copy
pg_escape_bytea
pg_escape_string
pg_execute
pg_fetch_all_columns
pg_fetch_all
pg_fetch_array
pg_fetch_assoc
pg_fetch_object
pg_fetch_result
pg_fetch_row
pg_field_is_null
pg_field_name
pg_field_num
pg_field_prtlen
pg_field_size
pg_field_table
pg_field_type_oid
pg_field_type
pg_free_result
pg_get_notify
pg_get_pid
pg_get_result
pg_host
pg_insert
pg_last_error
pg_last_notice
pg_last_oid
pg_lo_close
pg_lo_create
pg_lo_export
pg_lo_import
pg_lo_open
pg_lo_read_all
pg_lo_read
pg_lo_seek
pg_lo_tell
pg_lo_unlink
pg_lo_write
pg_meta_data
pg_num_fields
pg_num_rows
pg_options
pg_parameter_status
pg_pconnect
pg_ping
pg_port
pg_prepare
pg_put_line
pg_query_params
pg_query
pg_result_error_field
pg_result_error
pg_result_seek
pg_result_status
pg_select
pg_send_execute
pg_send_prepare
pg_send_query_params
pg_send_query
pg_set_client_encoding
pg_set_error_verbosity
pg_trace
pg_transaction_status
pg_tty
pg_unescape_bytea
pg_untrace
pg_update
pg_version
eXTReMe Tracker