JD
[DUVIDA] Salvar campo binário TRecord
Fechado
Olá pessoal, preciso salvar em um campo dados binários obtidos pela função "file_get_contents", gostaria de salvar direto sem ter que usar o "base64_encode" pois como esta função retorna uma string o espaço em disco que ela ocupará será maior que os dados binários.
Eu tentei fazer assim:
A variável $conteudo contém como valor o retorno da função file_get_contents, ao chamar o metodo store(); do TRecord é retornado o seguinte erro:
"SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xFF\xD8\xFF\xE0\\...' for column 'sql_command' at row 1"
Alquem sabe como posso resolver este problema?
Obrigado.
Eu tentei fazer assim:
- <?php
- $lacamentoFoto = new DesperdicioFoto();
- $lacamentoFoto->nome = $foto;
- $lacamentoFoto->mimetype = $mimetype;
- $lacamentoFoto->content = $conteudo;
- $lacamentoFoto->desperdicio_lancamento_id = $object->id;
- $lacamentoFoto->store();
- ?>
A variável $conteudo contém como valor o retorno da função file_get_contents, ao chamar o metodo store(); do TRecord é retornado o seguinte erro:
"SQLSTATE[HY000]: General error: 1366 Incorrect string value: '\xFF\xD8\xFF\xE0\\...' for column 'sql_command' at row 1"
Alquem sabe como posso resolver este problema?
Obrigado.
Consegui resolver usando PDO:
Jheferson,
A versão 3.0 do framework possui suporte nativo à Prepared Statements, bastaria ligar no arquivo de configuração de acesso (INI) do banco de dados:
prep = "1"
O que tornaria desnecessário realizar a query manualmente.
Atenciosamente,
Pablo