Array
(
)

upload Imagem (PHP + SQL SERVER)

PHP
Bs
   - 18 nov 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:
#Código


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:
#Código

$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:
#Código
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.

Jothaz
   - 18 nov 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:

#Código

$start->bindValue(6,$param6,PDO::PARAM_LOB);


Esta correto. O campo imagem é o param 6? Não seria o 9?

Bs
   - 18 nov 2015


Citação:
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:

#Código

$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.

Jothaz
   - 18 nov 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

Bs
   - 19 nov 2015


Citação:
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 ???