Ir para conteúdo

Arquivado

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

josenilson

Função Update

Recommended Posts

Boa galera !

 

Estou tentando realizar um update em dois campos de uma tabela utilizando a função abaixo, um eu insiro o valor  1 e outro quero inserir a data e a hora atual, porem esta dando erro, porem me mostrar o que esta de errado ?

 

obrigado . 

 

function FinalizarJornada ($Cad_Jornada,$idCad_Jornada ){
	$pdo = conectar();
	
	try {

		
$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = date format('Y-m-d H:i:s') WHERE idCad_Jornada = :idCad_Jornada ");
	    $update->bindValue('idCad_Jornada', $idCad_Jornada);
	    $update->execute();
   
       if ($update->rowCount()> 0):
       		return true;
       else:
       		return false;
       endif;
   
	} catch(PDOException $erro) {
		echo "ERRO AO FINALIZAR A JORNADA" . $erro->getMessage();
   
	}
}

segue o erro  ao tentar realizar o update . 

ERRO AO FINALIZAR A JORNADASQLSTATE[42000]: Syntax error or access violation: 
1064 You have an error in your SQL syntax; check the manual that corresponds to 
your MySQL server version for the right syntax to use near 'format('Y-m-d H:i:s') WHERE idCad_Jornada = '74'' at line 1

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio que o erro esteja aqui

<?php
	$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = date format('Y-m-d H:i:s') WHERE idCad_Jornada = :idCad_Jornada ");
	$update->bindValue('idCad_Jornada', $idCad_Jornada);
	$update->execute();
?>

no date format dentro da query

 

faça assim

<?php

$data = date('Y-m-d H:i:s', time());
	$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = :final WHERE idCad_Jornada = :idCad_Jornada ");
	$update->bindValue(':idCad_Jornada', $idCad_Jornada);
	$update->bindValue(':final', $data);
	$update->execute();

?>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
5 minutos atrás, alexalannunes disse:

Creio que o erro esteja aqui


<?php
	$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = date format('Y-m-d H:i:s') WHERE idCad_Jornada = :idCad_Jornada ");
	$update->bindValue('idCad_Jornada', $idCad_Jornada);
	$update->execute();
?>

no date format dentro da query

 

faça assim


<?php

$data = date('Y-m-d H:i:s', time());
	$update = $pdo->prepare("UPDATE cad_jornada set FinalizarJornada = '1', DataJornadaFinalizada = :final WHERE idCad_Jornada = :idCad_Jornada ");
	$update->bindValue(':idCad_Jornada', $idCad_Jornada);
	$update->bindValue(':final', $data);
	$update->execute();

?>

 

Muito Obrigado,  Pela ajuda, porem ao gravar na tabela a hora ficou assim : 

2017-06-16 19:02:21

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@josenilson ja passei por isso

 

eu sou do cera

 

use isso de acordo com o horario de seu estado

<?php

date_default_timezone_set('America/Fortaleza');

?>

 

Eu uso esse date_default_timezone_set('America/Fortaleza');

já no aquivo de conexao.php

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, alexalannunes disse:

@josenilson ja passei por isso

 

eu sou do Ceará

 

use isso de acordo com o horario de seu estado


<?php

date_default_timezone_set('America/Fortaleza');

?>

 

Eu uso esse date_default_timezone_set('America/Fortaleza');

já no aquivo de conexao.php

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, alexalannunes disse:

 

Então ficaria ?

date_default_timezone_set('America/Salvador');

 

Poder ser coisa do Wamp que devo estar usando, ou seja, quando colocar o sistema no servidor web deve resolver . 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por vicente386
      Ola. Tenho uma tabela no 3 campos que sao "LIVRO, POS, PAGINA" ao qual a logica e a seguinte: cada livro tem 100 paginas cada pagina tem 30 posiçoes tenho 8,364 registros pra inserir chegando a 100 paginas com 30 posiçoes cada passa para o livro 2 e como fazer o update na tabela inserindo nos campos LIVRO = 1, POS de 0 a 30 e PAGINA 1 para cada 30 registros logos apos pagina 2 ?
      estou tentando fazer assim:
      <?php > ini_set('max_execution_time', 2000); $pdo = new > DO(DB_SERVER.":host=".DB_HOST.";dbname=".DB_BASE,DB_USER,DB_PASSWORD); > $sql = $pdo->prepare("SELECT count(*) FROM tabela2018"); > $sql->execute(); > $livro = 1; > foreach($sql as $obj){ > $variavel = $obj[0]; > ceil((float)$variavel/100); > $qtdlaco = ceil((float)$variavel/100); > for ($id = 1; $id <= 35; $id++) { > for($L=1; $L < $qtdlaco; $L++) { > for ($P = 0; $P <= 30; $P++) { > $sql = $pdo->prepare("UPDATE tabela2018 SET LIVRO = :LIVRO, POS = :POS, PAGINA = :PAGINA WHERE idtabela2018 = $id"); > $sql->bindValue(':LIVRO', $livro); > $sql->bindValue(':POS', $P); > $sql->bindValue(':PAGINA', $L); > $sql->execute(); > } > } > } >} ?> mas na tebela so aparece: LIVRO POS PAGINA 1 30 83 1 30 83 1 30 83 e nao como deveria : LIVRO POS PAGINA 1 0 1 1 1 1 1 2 1
    • Por Mauricio Molina
      Ola pessoal, será que podem me dar uma força?
       
      Preciso fazer um calculo de subtração de valores, onde o administrador seleciona o mes, pego pelo ID, método GET, para edição.
       
      Como normalmente tem vários meses pagos, o script a seguir só esta funcionando no primeiro item da tabela.
       
      Como posso fazer para funcionar em todos os itens da tabela?
       
      Teria que dar um nome diferente no getValor (id no HTML) para cada um, mas como posso fazer isso?
       
      <!-- Calculo Devolucao--> <script type="text/javascript"> function id(valor_campo) { return document.getElementById(valor_campo); } function getValor(valor_campo) { var valor = document.getElementById(valor_campo).value.replace(',', '.'); /*document.write("Valor: " - valor);*/ return parseFloat( valor ) * 1; } function sub() { var total = getValor('v_recebido') - (getValor('v_devolvido')); id('resultadoDev').value = (total * 1) .toFixed(2, "."); } </script> <!-- Calculo Devolucao--> <div class="toggle"> <input name="v_devolvido" type="checkbox" id="foo<?php echo $rows_aluno['id']; ?>" value="<?php echo $rows_aluno['v_recebido']; ?>"> <label for="foo<?php echo $rows_aluno['id']; ?>"></label> </div> <input type="text" id="v_recebido" value="<?php echo $rows_aluno['v_recebido']; ?><?php echo $rows_aluno['v_receb_parc']; ?>" onblur="sub()" > <div class="form-row"> <div class="form-group col-md-6"> <label for="validationCustomUsername">Valor Parcial:</label> <div class="input-group"> <div class="input-group-prepend"> <span class="input-group-text" id="inputGroupPrepend">R$</span> </div> <input name="v_dev_parc" type="text" class="form-control" id="v_devolvido" placeholder="Digite o Valor" aria-describedby="inputGroupPrepend" onblur="sub()"> </div> </div> <input name="id_user" type="hidden" value="<?php echo $rows_aluno['id_user']; ?>"> <input name="id_prof" type="hidden" value="<?php echo $rows_aluno['id_prof']; ?>"> <input name="status" type="hidden" value="Devolvido"> <input name="mes" type="hidden" value="<?php echo $rows_aluno['mes']; ?>"> <input name="v_recebido" type="text" id="resultadoDev"> </div>  
    • Por mateus.andriollo
      Boa tarde,
      Tenho alguns campos numéricos q ao fazer uma select gostaria q retornasse uma legenda
       
      exemplo:
      Status: 0=Inativo / 1=Ativo Condição: 1=Funcionando / 2=Em manutenção / 3=Manutenção Interna   
      Seria algo assim, tenho varias tabelas com estes campos... mas tenho q ficar usando replace.
      Existe uma forma de criar uma função para isso? Nem q na função eu tenha que setar nome do campo, ficando assim:
      Legenda('Status',cadastro.status) 
    • Por Luiz Henrique
      Olá pessoas,
       
      Tenho uma classe e dentro dela várias chamadas para métodos de acordo com a necessidade em outra classe (para obter dados DB), como são muitas e vou duplicar os arquivos, para ganhar tempo queria colocar o nome da classe em uma variável porém não funciona.
       
      use Class1; class Class2 { public $className = 'Class1'; ... $dados = $this->className::function(); // não funciona } Era para gerar isso:
      $dados = Class1::function();
      Se eu der um echo $this->$className, ele me retorno o nome da Class1 porém para executar um método dentro da Class1 não vai, diz que a classe Class1 não existe!
      Tem alguma forma de funcionar isso?
       
      Obrigado.
×

Informação importante

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