upload Imagem (PHP + SQL SERVER)

PHP

18/11/2015

Srs (a). bom dia.

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

Brunno Sena

Curtidas 0

Respostas

Jothaz

Jothaz

18/11/2015

Opinar em um SQl deste tamnahho sem entender o cenário ou debugar é osso.

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?
GOSTEI 0
Brunno Sena

Brunno Sena

18/11/2015

Opinar em um SQl deste tamnahho sem entender o cenário ou debugar é osso.

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.
GOSTEI 0
Jothaz

Jothaz

18/11/2015

Gravar imagem em bd é chato em qualquer linguagem.

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
GOSTEI 0
Brunno Sena

Brunno Sena

18/11/2015

Gravar imagem em bd é chato em qualquer linguagem.

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 ???
GOSTEI 0
POSTAR