upload Imagem (PHP + SQL SERVER)
18/11/2015
0
Estou com um problema em um determinado script. No upload de fotos, faço da seguinte forma.
TABELA DO BD:
CODARQUIVO int CODCOLIGADA int CODLOCAL int CODATENDIMENTO int CODCOLIGADAATENDENTE int CODATENDENTE int NOMEARQUIVO varchar DETALHESARQUIVO varchar ARQUIVO image TAMANHOARQUIVO RMDVALOR4 CODCOLIGADAATENDATUAL int CODATENDENTEATUAL int DATAULTIMAALTERACAO datetime TIPOALTERACAO varchar RECCREATEDBY varchar RECCREATEDON datetime RECMODIFIEDBY varchar RECMODIFIEDON datetime
TRANSFORMAÇÃO DO CAMPO $_FILES:
$foto = $_FILES['ffFoto']; $nome = $foto['name']; $tipo = $foto['type']; $tamanho = $foto['size']; $conteudo = file_get_contents($foto['tmp_name']); $data = unpack("H*hex", $conteudo); $texto = "0x".$data['hex'];
SCRIPT DE INSERT:
public function cadastroArqAtendimento($param1,$param2,$param3,$param4,$param5,$param6,$param7,$param8,$param9){ $start = $this->conexao->prepare(" INSERT INTO HATENDIMENTOARQUIVOSANEXOS (CODARQUIVO,CODCOLIGADA,CODLOCAL,CODATENDIMENTO,CODCOLIGADAATENDENTE,CODATENDENTE,NOMEARQUIVO,DETALHESARQUIVO,ARQUIVO,TAMANHOARQUIVO, CODCOLIGADAATENDATUAL,CODATENDENTEATUAL,DATAULTIMAALTERACAO,TIPOALTERACAO,RECCREATEDBY,RECCREATEDON,RECMODIFIEDBY,RECMODIFIEDON) VALUES (?, 1, ?, ?, 1, ?, ?, 'ARQUIVO ANEXO', ?, ?, 1, ?, GETDATE(), 'Adicionado', ?, GETDATE(), null, null) "); $start->bindValue(1,$param1); $start->bindValue(2,$param2); $start->bindValue(3,$param3); $start->bindValue(4,$param4); $start->bindValue(5,$param5); $start->bindValue(6,$param6,PDO::PARAM_LOB); $start->bindValue(7,$param7); $start->bindValue(8,$param8); $start->bindValue(9,$param9); $start->execute(); return $start->errorCode(); }
O PROBLEMA É QUE NÃO INSERTA NO BANCO SEMPRE ME RETORNA O ERRO NUM TRACE ASSIM :
Operand type clash: text is incompatible with image php;
SE ALGUÉM PODER ME AJUDAR, SERÁ DE GRANDE VALIA.
AGRADECIDO.
Brunno Sena
Posts
18/11/2015
Jothaz
Qual o campo da tabela recebe o arquivo?
Você tem certeza que o comadno:
$start->bindValue(6,$param6,PDO::PARAM_LOB);
Esta correto. O campo imagem é o param 6? Não seria o 9?
18/11/2015
Brunno Sena
Qual o campo da tabela recebe o arquivo?
Você tem certeza que o comadno:
$start->bindValue(6,$param6,PDO::PARAM_LOB);
Esta correto. O campo imagem é o param 6? Não seria o 9?
Obrigado, pela resposta, mas o campo de imagem, é o CAMPO ARQUIVO, NO INSERT. OS CAMPOS MANUALMENTE COLOCADOS, NÃO SÃO CONTADOS COMO PARAMETROS. SOMENTE OS QUE ESTÃO COM O "?". OU SEJA, CONTADO, ELE ME RETORNA O PARAMETRO 6.
18/11/2015
Jothaz
Eu faria um teste com dabela com somente um id e o campo imagem para confirmar que o processo de gravação da imagem esta ok.
E depois se funcionasse, gravaria todos os campo.
Sei que trabalhoso e cansativo, mas não existe almoço gratis. kkkkk
19/11/2015
Brunno Sena
Eu faria um teste com dabela com somente um id e o campo imagem para confirmar que o processo de gravação da imagem esta ok.
E depois se funcionasse, gravaria todos os campo.
Sei que trabalhoso e cansativo, mas não existe almoço gratis. kkkkk
Esse teste foi feito, sem passar parametros, colocando os valores manualmente, e deu certo, acredito que o problema esteja na verdade em como passar o parametro, e é justamente isso que quero saber como passar parametros deste tipo.
Agradecido, mais alguém ???
Clique aqui para fazer login e interagir na Comunidade :)