Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ae galera, beleza?
Estou precisando de ajuda aqui, preciso inserir imagem num campo bytea do postgres, só que não estou conseguindo...
Segue ae a tentativa:
<?php
include_once $_SERVER['DOCUMENT_ROOT'].'/app/controllers/base_controller.php';
class ImgController extends BaseController
{
public function gravar()
{
$arq = $_FILES['imagem']['tmp_name']; //O local temporário que se cria quando o arquivo é enviado.
$conteudo = addslashes(fread(fopen($arq, "r"), filesize($arq))); /*lê o arquivo carregado pelo usuário e faz o escape das aspas simples, aspas duplas, de barras invertidas e NULLs com barras invertidas */
$varConexao = Conexao::getPGConn();
$varSQL = "insert into imagem_obra (fid_fco, jpg_grande) values ('6236', lo_import('".addslashes($arq)."'))";
$varResultado = pg_query($varConexao,$varSQL);
pg_close ($varConexao);/*fecha a conexão com banco*/
}
}
if($_POST['txtLocal'])$ctrl = new ImgController();
$ctrl->gravar();
}
Dessa forma esta dando o seguinte erro:
Warning: pg_query() [function.pg-query]: Query failed: ERRO: coluna "jpg_grande" é do tipo bytea mas expressao é do tipo oid LINE 1: ...imagem_obra (fid_fco, jpg_grande) values ('6236', lo_import(... ^ HINT: Voce precisara¡ reescrever ou converter a expressao. in C:\xampp\htdocs\app\controllers\teste_img\teste_img.php on line 13
O erro, pelo q eu entendi é que a forma q estou tentando é para campos do tipo oid, mas no artigo q eu li tava ensinando dessa forma para tipo bytea. Preciso de uma forma que insira no tipo bytea.
Ajudem ae por favor...
Desde já agradecido.
Carregando comentários...