Ir para conteúdo

POWERED BY:

Arquivado

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

Damon

Data no SQL SERVER usando o php

Recommended Posts

Amiguinhos.

 

Estou com um problema na hora de fazer o insert no banco SQL SERVER, eu preciso inserir a data e hora do SISTEMA em um campo chamado data em minhas tabelas.

 

No Mysql eu faço o seguinte:

 

$data =  date("Y-m-d");

Agora no SQL server estou fazendo assim:

$data =  date("Y-m-d H:i:s");

mas não esta dando certo ele esta gravando null no banco ! Já conferir as minha variável ! Aguem pode me da uma ajuda ai ????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Damon,

 

Tenta assim:

 

<?php

$data = "2013-09-20";
$teste = "teste";

$sql    = "INSERT INTO tabela (teste, data)VALUES('$teste','$data')";
$result = mssql_query($sql, $conexao);

?>

Att

Compartilhar este post


Link para o post
Compartilhar em outros sites

// Dia 20/09/2013, às 10:14h e 25 segundos


$data = "2005-08-31 14:35:25.0000";

$sql = "insert into teste_tab (data) values ('$data')";

 

Você também pode usar a função getdate() do SQL Server (PEGA A DATA ATUAL):

 

$sql = "insert into teste_tab (data) values ('getdate())";

 

Veja a documentação: http://technet.microsoft.com/pt-br/library/ms188383.aspx

 


Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Damon,

 

Tenta assim:

 

<?php

$data = "2013-09-20";
$teste = "teste";

$sql    = "INSERT INTO tabela (teste, data)VALUES('$teste','$data')";
$result = mssql_query($sql, $conexao);

?>

Att

Bom dia InfoAssef

 

Eu preciso pegar a data e hora do Sistema !

 

Vlw

Att

 

// Dia 20/09/2013, às 10:14h e 25 segundos

 

$data = "2005-08-31 14:35:25.0000";

 

$sql = "insert into teste_tab (data) values ('$data')";

 

Você também pode usar a função getdate() do SQL Server (PEGA A DATA ATUAL):

 

$sql = "insert into teste_tab (data) values ('getdate())";

 

Veja a documentação: http://technet.microsoft.com/pt-br/library/ms188383.aspx

 

 

Espero ter ajudado.

 

Guilherme quando eu uso a minha variável para pegar a data do sistema ele me da um erro !!

 

$data =  'getdate()';   
		

 

Erro de conversão ao converter datetime da seqüência de caracteres.

 

Tem outra sugestão ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ou então use uma função para inserir no formado data de bd. É mais prático e simples.

 

 

Exemplo:

 

<?php
require('../conn/conn.php');
require('../funcoes/funcoes.php');
//convertendo data para enviar ao bd em formato AAAA/MM/DD $data_sql = data_to_sql($dt_inicial);
$sql="SELECT * FROM TABELA WHERE nome_da_coluna='".$data_sql."'";
$mysql_query($sql);
?>

 

 

Função que converte a data:

 

<?php

function data_to_sql($original){
  return mysql_real_escape_string(substr($original,6,4).'-'.substr($original,3,2).'-'.substr($original,0,2));
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Ou então use uma função para inserir no formado data de bd. É mais prático e simples.

 

 

Exemplo:

 

<?php
require('../conn/conn.php');
require('../funcoes/funcoes.php');
//convertendo data para enviar ao bd em formato AAAA/MM/DD $data_sql = data_to_sql($dt_inicial);
$sql="SELECT * FROM TABELA WHERE nome_da_coluna='".$data_sql."'";
$mysql_query($sql);
?>

 

 

Função que converte a data:

 

<?php

function data_to_sql($original){
  return mysql_real_escape_string(substr($original,6,4).'-'.substr($original,3,2).'-'.substr($original,0,2));
}
?>

 

Paulo vc pode me explicar melhor esta sua função !?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá...

 

 

Pelos comentários vai dá pra entender facilmente.

$dt_inicial = $_GET['dt_inicial']; / Pegando a data de algum susposto input no formato pt-br: 10/02/2013 //convertendo data para enviar ao bd em formato 2013/02/10$data_sql = data_to_sql($dt_inicial); chamo a função que converte a data para o formato de bd $sql="SELECT * FROM materia WHERE dt_publicacao='".$data_sql."'";mysql_query($sql);

Lembrando de da 'required' para chamar a função que passei

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá...

 

 

Pelos comentários vai dá pra entender facilmente.

$dt_inicial = $_GET['dt_inicial']; / Pegando a data de algum susposto input no formato pt-br: 10/02/2013
 
//convertendo data para enviar ao bd em formato 2013/02/10
$data_sql = data_to_sql($dt_inicial); chamo a função que converte a data para o formato de bd
 
$sql="SELECT * FROM materia WHERE dt_publicacao='".$data_sql."'";
mysql_query($sql);

Lembrando de da 'required' para chamar a função que passei

 

Assim entendi o que você quis dizer, então cara o probleminha é que eu não vou pega a data de nenhum formulário, eu vou pegar a data do sistema tipo 'rand'. No mysql eu usava date("Y-m-d"); e funcionava blz.

 

Agora no SQL SERVER eu já usei date("Y-m-d H:i:s"), GETDATE() e não funcionou eu achei muito estranho a getdate não ter funcionado por que o campo na minha tabela esta especificado como datetime !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente mudar o campo para varchar e insira a data no formato unix.

 

Buenoweb eu não vou inserir e vou pegar a data do sistema tipo getdate().

 

Tem como fazer isso usando um campo varchar ? Nunca ouvi falar tem como vc me explicar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Altere o campo do SQL Server para varchar.

A inserir, use a função time().

No campo será inserido vários algarismos correspondentes a data unix que podem ser convertidos na data e hora como conhecemos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

posta ai o seu codigo de 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.