Jump to content


Photo

[Error] Ao Incluir Da Erro De String


  • Faça o login para participar
4 replies to this topic

#1 _AFRICANO_

_AFRICANO_

    Normal

  • Usuários
  • 95 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 13/01/2012, 10:00

Bom Dia,

ao incluir dá o seguinte error:

Warning: ibase_query() [function.ibase-query]: conversion error from string "$cod_dem" in /home/outlett/public_html/curso/campanha.php on line 70
conversion error from string "$cod_dem"

Aqui está meu codigo a linha do erro é o $exe_inclu2, oque acontece coma string?
no DB está como interger o campo COD_DEM,

<?php
include("config.php");

if (isset($_POST['nome_indicador'])){

	//PARA CAMPANHA
	$data = $_POST['data_apresentacao'];
	$hora = $_POST['hora_apresentacao'];
	$data_term = $_POST['data_termino'];
	$nome_indicador = $_POST['nome_indicador'];
	$cod_demo = $_POST['cod_dem'];
	$compra_efetuada = $_POST['compra_efetuada'];
	
	if(isset($mostrar_cli)){
	
	$sql_buscar = "SELECT * FROM TAB_CLIENTE WHERE NOME_CLI = '$mostrar_cli'";
	$exe_buscar = ibase_query($sql_connect,$sql_buscar) or die (ibase_errmsg());
	$fet_buscar = ibase_fetch_assoc($exe_buscar);
	
	$cod_cli = $fet_buscar['COD_CLI'];
	$_SESSION['cod_cli'] = $fet_buscar['COD_CLI'];
	
	    $sql_busca01 = "SELECT * FROM TAB_CLIENTE WHERE NOME_CLI = '$nome_indicador'";
        $exe_busca01 = ibase_query($sql_connect,$sql_busca01) or die (ibase_errmsg());
        $fet_busca01 = ibase_fetch_assoc($exe_busca01);	
	    		 
		$cod_indicador = $fet_busca01['COD_CLI'];
		
		$sql_inclu2 = "INSERT INTO TAB_CAMPANHA (DATA_APRESENTACAO,HORA_APRESENTACAO,DATA_TERMINO,COD_INDICADOR,NOME_INDICADOR,COD_CLI,COD_DEM,COMPRA_EFETUADA)
					  VALUES ('$data','$hora','$data_term','$cod_indicador','$nome_indicador','$cod_cli','$cod_demo','$compra_efetuada')";	
		
		$exe_inclu2 = ibase_query($sql_connect,$sql_inclu2) or die (ibase_errmsg());
		
		if($exe_inclu2 > 0){			  	
	  			echo "<script language='javascript'>
			 	document.location = 'demonstrador.php?pagina=cadastro_ind'
             	</script>";
	            }else{
				echo"Erro ao enviar dados, tente novamente";
				}  
	  }else{
	  echo"Erro ao receber session, tente novamente";
	  }
}
?>

Essa tela éé muito importante,
pra quem me ajudar ~>(+)
Te ajudei de alguma forma??
Então agradeça é rapido, prático e gratuito,
é só clicar no
Posted Image
C a i q u e

#2 Leonardo Wolter

Leonardo Wolter

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 13/01/2012, 11:45

Cara, o quer ta acontecendo é que o php está puxando a informação do request(post) como uma string(afinal, não tem como ele adivinhar que é um int, né? haha) tente adicionar um casting nessa linha:

$cod_demo = $_POST['cod_dem'];

Ficaria desse jeito:

$cod_demo = (int)$_POST['cod_dem'];

e TIRE as '' do insert:

INSERT INTO TAB_CAMPANHA (DATA_APRESENTACAO,HORA_APRESENTACAO,DATA_TERMINO,COD_INDICADOR,NOME_INDICADOR,COD_CLI,COD_DEM,COMPRA_EFETUADA)
                                          VALUES ('$data','$hora','$data_term','$cod_indicador'
,'$nome_indicador','$cod_cli',$cod_demo,'$compra_efetuada'
)"

em vez de

INSERT INTO TAB_CAMPANHA (DATA_APRESENTACAO,HORA_APRESENTACAO,DATA_TERMINO,COD_INDICADOR,NOME_INDICADOR,COD_CLI,COD_DEM,COMPRA_EFETUADA)
                                          VALUES ('$data','$hora','$data_term','$cod_indicador'
,'$nome_indicador','$cod_cli','$cod_demo','$compra_efetuada'
)"


OBS: Busque meios de evitar SQLInjection, isso é MUUUITO perigoso

Edição feita por: Leonardo Wolter, 13/01/2012, 11:59.

Se te ajudei, retribua com um (+) !
Simples, de graça e indolor =]

#3 _AFRICANO_

_AFRICANO_

    Normal

  • Usuários
  • 95 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 13/01/2012, 12:22

Cara, o quer ta acontecendo é que o php está puxando a informação do request(post) como uma string(afinal, não tem como ele adivinhar que é um int, né? haha) tente adicionar um casting nessa linha:

$cod_demo = $_POST['cod_dem'];

Ficaria desse jeito:

$cod_demo = (int)$_POST['cod_dem'];

e TIRE as '' do insert:

INSERT INTO TAB_CAMPANHA (DATA_APRESENTACAO,HORA_APRESENTACAO,DATA_TERMINO,COD_INDICADOR,NOME_INDICADOR,COD_CLI,COD_DEM,COMPRA_EFETUADA)
                                          VALUES ('$data','$hora','$data_term','$cod_indicador'
,'$nome_indicador','$cod_cli',$cod_demo,'$compra_efetuada'
)"

em vez de

INSERT INTO TAB_CAMPANHA (DATA_APRESENTACAO,HORA_APRESENTACAO,DATA_TERMINO,COD_INDICADOR,NOME_INDICADOR,COD_CLI,COD_DEM,COMPRA_EFETUADA)
                                          VALUES ('$data','$hora','$data_term','$cod_indicador'
,'$nome_indicador','$cod_cli','$cod_demo','$compra_efetuada'
)"


OBS: Busque meios de evitar SQLInjection, isso é MUUUITO perigoso


Nossa Cara vlw mesmo em que resposta *--*'
Muito obrigado pelas dicas e velocidade da resposta me salvou vlw
Te ajudei de alguma forma??
Então agradeça é rapido, prático e gratuito,
é só clicar no
Posted Image
C a i q u e

#4 Goku Jr

Goku Jr

    Nilson

  • Usuários
  • 3757 posts
  • Sexo:Masculino

Posted 13/01/2012, 12:23

Só tire as aspas em variáveis que não seja STRING porque se for irá retornar erro! adicione {} entre as variáveis.

ex:

'{$variavel}'
-----------------------------------------------------------------------
PALMEIRAS - Primeiro campeão do mundo em 1951

#5 Leonardo Wolter

Leonardo Wolter

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:São Paulo

Posted 13/01/2012, 12:31

Nossa Cara vlw mesmo em que resposta *--*'
Muito obrigado pelas dicas e velocidade da resposta me salvou vlw

Nada cara, qualquer coisa estamos aí =]
Se te ajudei, retribua com um (+) !
Simples, de graça e indolor =]




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq