Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Welington Kleber

Datas no insert

Recommended Posts

Bom dia, pessoal.

 

Estou com um problema ao utilizar um insert, pegando datas de 2 campos.

 

Exemplo:

$EX_DATACOTACAO = $_POST['EX_ANOCOTACAO']+'/'+$_POST['EX_MESCOTACAO']+'/'+$_POST['EX_DIACOTACAO'];
echo $EX_DATACOTACAO;

Pego o dia, mês e ano de dois campos, que o usuário preenche.

Depois eu utilizo no insert.

 

$sql3 = odbc_prepare($conn, 
"INSERT INTO EX_CONTRATO (EX_STATUS, EX_CONTRATO_NUMERO, EX_DIAS, EX_ASSINA_DIRETOR, EX_CODCLIENTE, EX_CODMATERIAL, EX_USUARIO_CADASTRO, EX_QUANTIDADE, EX_DATA_CADASTRO, EX_DATA_CONTRATO, EX_DATA_ASSINATURA, EX_CONTAINER, EX_QTD_CONTAINERS, EX_FORMA_PAGAMENTO, EX_DOCUMENTOS_NECESSARIOS, EX_UNITARIO_US, EX_TOTAL_US, EX_TAXA_US, EX_TOTAL_RS, EX_UNITARIO_RS, EX_CONTRATO_CLIENTE, EX_DESCRIPROD, EX_PORTO, EX_CONTRATO_MODELO, EX_DATACOTACAO, EX_ASSINA) 
VALUES ('$EX_STATUS', '$EX_CONTRATO_NUMERO', '$EX_DIAS', '$EX_ASSINA_DIRETOR', '$EX_CODCLIENTE', '$EX_CODMATERIAL', '$EX_USUARIO_CADASTRO', '$EX_QUANTIDADE', '$EX_DATA_CADASTRO', '$EX_DATA_CONTRATO', '$EX_DATA_ASSINATURA', '$EX_CONTAINER', '$EX_QTD_CONTAINERS', '$EX_FORMA_PAGAMENTO', '$EX_DOCUMENTOS_NECESSARIOS', '$EX_UNITARIO_US', '$EX_TOTAL_US', '$EX_TAXA_US', '$EX_TOTAL_RS', '$EX_UNITARIO_RS', '$EX_CONTRATO_CLIENTE', '$EX_DESCRIPROD', '$EX_PORTO', '$EX_CONTRATO_MODELO', '$EX_DATACOTACAO', '$EX_ASSINA');"); 

$res = odbc_execute($sql3);
if($res){ 
echo "<script>alert('CONTRATO GERADO COM SUCESSO!');</script>"; 
return false; 

Mas, eu já passo a data certo, e no insert ele tenta converter a data.

 

2053
Warning: odbc_execute(): SQL error: [ODBC Firebird Driver][Firebird]conversion error from string "2053", SQL state HY000 in SQLExecute in C:\xampp\htdocs\ORGANONWEB\comex\newcontract.php on line 387

 

Alguém pode ajudar? Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

debuga o código assim


echo $sql3; exit;$res = odbc_execute($sql3);

com isso, vc poderá analisar como está a query sql..

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahh.. foi mal.. $sql3 está recebendo um resource..

 

 

faze assim antes do prepare()

 

 

 

 

echo "INSERT INTO EX_CONTRATO (EX_STATUS, EX_CONTRATO_NUMERO, EX_DIAS, EX_ASSINA_DIRETOR, EX_CODCLIENTE, EX_CODMATERIAL, EX_USUARIO_CADASTRO, EX_QUANTIDADE, EX_DATA_CADASTRO, EX_DATA_CONTRATO, EX_DATA_ASSINATURA, EX_CONTAINER, EX_QTD_CONTAINERS, EX_FORMA_PAGAMENTO, EX_DOCUMENTOS_NECESSARIOS, EX_UNITARIO_US, EX_TOTAL_US, EX_TAXA_US, EX_TOTAL_RS, EX_UNITARIO_RS, EX_CONTRATO_CLIENTE, EX_DESCRIPROD, EX_PORTO, EX_CONTRATO_MODELO, EX_DATACOTACAO, EX_ASSINA)
VALUES ('$EX_STATUS', '$EX_CONTRATO_NUMERO', '$EX_DIAS', '$EX_ASSINA_DIRETOR', '$EX_CODCLIENTE', '$EX_CODMATERIAL', '$EX_USUARIO_CADASTRO', '$EX_QUANTIDADE', '$EX_DATA_CADASTRO', '$EX_DATA_CONTRATO', '$EX_DATA_ASSINATURA', '$EX_CONTAINER', '$EX_QTD_CONTAINERS', '$EX_FORMA_PAGAMENTO', '$EX_DOCUMENTOS_NECESSARIOS', '$EX_UNITARIO_US', '$EX_TOTAL_US', '$EX_TAXA_US', '$EX_TOTAL_RS', '$EX_UNITARIO_RS', '$EX_CONTRATO_CLIENTE', '$EX_DESCRIPROD', '$EX_PORTO', '$EX_CONTRATO_MODELO', '$EX_DATACOTACAO', '$EX_ASSINA');";

exit;

aliás.. é algo lógico que vc mesmo já deveria ter feito ... mas faça aí e veja o que mostra.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahh.. foi mal.. $sql3 está recebendo um resource..

 

 

faze assim antes do prepare()

 

 

 

 

echo "INSERT INTO EX_CONTRATO (EX_STATUS, EX_CONTRATO_NUMERO, EX_DIAS, EX_ASSINA_DIRETOR, EX_CODCLIENTE, EX_CODMATERIAL, EX_USUARIO_CADASTRO, EX_QUANTIDADE, EX_DATA_CADASTRO, EX_DATA_CONTRATO, EX_DATA_ASSINATURA, EX_CONTAINER, EX_QTD_CONTAINERS, EX_FORMA_PAGAMENTO, EX_DOCUMENTOS_NECESSARIOS, EX_UNITARIO_US, EX_TOTAL_US, EX_TAXA_US, EX_TOTAL_RS, EX_UNITARIO_RS, EX_CONTRATO_CLIENTE, EX_DESCRIPROD, EX_PORTO, EX_CONTRATO_MODELO, EX_DATACOTACAO, EX_ASSINA)
VALUES ('$EX_STATUS', '$EX_CONTRATO_NUMERO', '$EX_DIAS', '$EX_ASSINA_DIRETOR', '$EX_CODCLIENTE', '$EX_CODMATERIAL', '$EX_USUARIO_CADASTRO', '$EX_QUANTIDADE', '$EX_DATA_CADASTRO', '$EX_DATA_CONTRATO', '$EX_DATA_ASSINATURA', '$EX_CONTAINER', '$EX_QTD_CONTAINERS', '$EX_FORMA_PAGAMENTO', '$EX_DOCUMENTOS_NECESSARIOS', '$EX_UNITARIO_US', '$EX_TOTAL_US', '$EX_TAXA_US', '$EX_TOTAL_RS', '$EX_UNITARIO_RS', '$EX_CONTRATO_CLIENTE', '$EX_DESCRIPROD', '$EX_PORTO', '$EX_CONTRATO_MODELO', '$EX_DATACOTACAO', '$EX_ASSINA');";

exit;

aliás.. é algo lógico que vc mesmo já deveria ter feito ... mas faça aí e veja o que mostra.

 

Desculpe, sou iniciante ainda ....

 

Está aqui:

 

 

INSERT INTO EX_CONTRATO (EX_STATUS, EX_CONTRATO_NUMERO, EX_DIAS, EX_ASSINA_DIRETOR, EX_CODCLIENTE, EX_CODMATERIAL, EX_USUARIO_CADASTRO, EX_QUANTIDADE, EX_DATA_CADASTRO, EX_DATA_CONTRATO, EX_DATA_ASSINATURA, EX_CONTAINER, EX_QTD_CONTAINERS, EX_FORMA_PAGAMENTO, EX_DOCUMENTOS_NECESSARIOS, EX_UNITARIO_US, EX_TOTAL_US, EX_TAXA_US, EX_TOTAL_RS, EX_UNITARIO_RS, EX_CONTRATO_CLIENTE, EX_DESCRIPROD, EX_PORTO, EX_CONTRATO_MODELO, EX_DATACOTACAO, EX_ASSINA) VALUES ('A', '12', '10', '2', '02053', '000032', 'THIAGO', '10', '2013/10/30', '2013/10/30', '2013/10/30', '20', '0.4', '1', '', '1.30', '13', '1.30', '16.9', '1.69', '0', 'BUSHELING', '43', '1', '2053', '1');

 

Penultimo registro, é onde está convertendo a data.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe, sou iniciante ainda ....

 

Está aqui:

 

 

INSERT INTO EX_CONTRATO (EX_STATUS, EX_CONTRATO_NUMERO, EX_DIAS, EX_ASSINA_DIRETOR, EX_CODCLIENTE, EX_CODMATERIAL, EX_USUARIO_CADASTRO, EX_QUANTIDADE, EX_DATA_CADASTRO, EX_DATA_CONTRATO, EX_DATA_ASSINATURA, EX_CONTAINER, EX_QTD_CONTAINERS, EX_FORMA_PAGAMENTO, EX_DOCUMENTOS_NECESSARIOS, EX_UNITARIO_US, EX_TOTAL_US, EX_TAXA_US, EX_TOTAL_RS, EX_UNITARIO_RS, EX_CONTRATO_CLIENTE, EX_DESCRIPROD, EX_PORTO, EX_CONTRATO_MODELO, EX_DATACOTACAO, EX_ASSINA) VALUES ('A', '12', '10', '2', '02053', '000032', 'THIAGO', '10', '2013/10/30', '2013/10/30', '2013/10/30', '20', '0.4', '1', '', '1.30', '13', '1.30', '16.9', '1.69', '0', 'BUSHELING', '43', '1', '2053', '1');

 

Penultimo registro, é onde está convertendo a data.

Aharrr Achei um erro, A data

 

Troca o "/" por "-"

 

e esse

'2053', bem no final e o realmente apenas um ano ? ou nada a ver ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Aharrr Achei um erro, A data

 

Troca o "/" por "-"

 

e esse

'2053', bem no final e o realmente apenas um ano ? ou nada a ver ?

 

Não, por exemplo eu preencho:

 

30/10/2013

 

no insert ele converte pra

 

2053

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, por exemplo eu preencho:

 

30/10/2013

 

no insert ele converte pra

 

2053

 

 

Ahhhh entendi usa o ponto para concatenar Exemplo :

 

 

<?php

$EX_DATACOTACAO = $_POST['EX_ANOCOTACAO'].'-'.$_POST['EX_MESCOTACAO'].'-'.$_POST['EX_DIACOTACAO'];
echo $EX_DATACOTACAO;

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Ahhhh entendi usa o ponto para concatenar Exemplo :

 

 

<?php

$EX_DATACOTACAO = $_POST['EX_ANOCOTACAO'].'-'.$_POST['EX_MESCOTACAO'].'-'.$_POST['EX_DIACOTACAO'];
echo $EX_DATACOTACAO;

?>

 

Funcionoooooooooooooiuuuuuuuu, vlwwwwwwwwwwwwww cara

Compartilhar este post


Link para o post
Compartilhar em outros sites

Funcionoooooooooooooiuuuuuuuu, vlwwwwwwwwwwwwww cara

 

 

Blz, Estmos ai pra isso,

 

Dica. Trata todos esses dados antes de incerir no banco. porque se o usuario colocar por esemplo uma data assim :

 

Dia: 01

mes: jujuba

ano 20'10

 

Ou qualquer coisa do genero é possivel que ele possa "burlar" seu sistema,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Blz, Estmos ai pra isso,

 

Dica. Trata todos esses dados antes de incerir no banco. porque se o usuario colocar por esemplo uma data assim :

 

Dia: 01

mes: jujuba

ano 20'10

 

Ou qualquer coisa do genero é possivel que ele possa "burlar" seu sistema,

 

Obrigado pela dica.

 

Já estou tratando todas as informações ao dar insert.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.