Ir para conteúdo

Arquivado

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

Paulo Vinícius Matos

Erro ao realizar update

Recommended Posts

Galera, estou tentando realizar um update. Já chequei tudo do meu conhecimento(que é ainda muito pouco), e não consegui idenficar qual o erro na hora de realizar o update. Vou postar o código, quem puder ajudar, agradeço.

 

Função javascript que passa via ajax para o arquivo .php que faz o update:

function atualiza_clipping(id){
	var titulo = $("#formulario_editar #titulo").val();
	var dt_publicacao = $("#formulario_editar #dt_publicacao").val();
	var caderno = $("#formulario_editar #caderno").val();
	var pagina = $("#formulario_editar #pagina").val();
	var origem = $("#formulario_editar #origem").val();
	var autor = $("#formulario_editar #autor").val();
	var veiculo = $("#formulario_editar #veiculo").val();
	var editoria = $("#formulario_editar #editoria").val();
	var disposicao = $("#formulario_editar #disposicao").val();
	var centimetragem = $("#formulario_editar #centimetragem").val();
	var impacto = $("#formulario_editar #impacto").val();
	var materia = $("#formulario_editar #materia").val();
	
	var citacao = "";
    $("#formulario_editar #citacao:checked").each(function () {
        citacao = citacao + '-' + $(this).val();
    });

    citacao = citacao.substring(1);

    var chamada = "";
    $('input:radio[name=chamada]').each(function () {
        if ($(this).is(':checked'))
            chamada = ($(this).val());
    });
	

	$.post('crud/update_clipping.php', {
					id: id, titulo: titulo,  dt_publicacao: dt_publicacao, caderno: caderno, 
					pagina: pagina, origem: origem, autor: autor, veiculo: veiculo,
					editoria: editoria, disposicao: disposicao, centimetragem: centimetragem, 
					impacto: impacto, chamada: chamada, citacao: citacao, materia: materia
				},
				function (data) {
				alert(data);
				console.log(data);
				});
}

Arquivo .php que faz o update:

<?php
require('../conn/conn.php');
require('../funcoes/funcoes.php');

$titulo = $_POST['titulo'];
$autor = $_POST['autor'];
$impacto = $_POST['impacto'];
$materia = $_POST['materia'];
$citacao = $_POST['citacao'];
$dt_publicacao = $_POST['dt_publicacao'];
$id_origem = $_POST['origem'];
$id_veiculo = $_POST['veiculo'];

$data_sql = data_to_sql($dt_publicacao);
		
$sql2 = "UPDATE materia SET titulo='".$titulo."', autor='".$autor."', impacto='".$impacto."', materia='".$materia."', citacao='".$citacao."', dt_publicacao='".$data_sql."','".$id_origem."','".$id_veiculo."' WHERE id=".$_POST['id'];


if(mysql_query($sql2)){
	
	$ultimo_id = mysql_insert_id();
	$pagina = $_POST['pagina'];
	$editoria = $_POST['editoria'];
	$disposicao = $_POST['disposicao'];
	$caderno = $_POST['caderno'];
	$chamada = $_POST['chamada'];

	$sql = "UPDATE localizacao SET pagina='".$pagina."', editoria='".$editoria."', disposicao='".$disposicao."', caderno='".$caderno."', chamada='".$chamada."','".$ultimo_id."'";
echo $sql;
	mysql_query($sql);
	echo "Clipping adicionado com sucesso!";
} else {
	echo mysql_error();
	}
	mysql_close();
?> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo jeito, erro na sintaxe nos comandos update:

nesse, por exemplo:

"UPDATE materia SET titulo='".$titulo."',
autor='".$autor."',
impacto='".$impacto."',
materia='".$materia."',
citacao='".$citacao."',
dt_publicacao='".$data_sql."',
'".$id_origem."','".$id_veiculo."'
WHERE id=".$_POST['id'];

veja essa linha:

'".$id_origem."','".$id_veiculo."'

 

no 2º comando, veja essa ultima variavel:

'".$ultimo_id."'"

verifique ai e qqer coisa retorne.

umas dicas boas:

http://www.linhadecodigo.com.br/artigo/2975/comandos-basicos-em-sql-insert-update-delete-e-select.aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites
$data_sql = data_to_sql($dt_publicacao);
		
$sql2 = "UPDATE materia SET titulo='".$titulo."', 
autor='".$autor."', impacto='".$impacto."', materia='".$materia."', 
citacao='".$citacao."', dt_publicacao='".$data_sql."', id_origem='".$id_origem."',
id_veiculo='".$id_veiculo."' WHERE id=".$_POST['id'];

if(mysql_query($sql2)){
	
	$ultimo_id = mysql_insert_id(); // Aqui ele recupera o ultimo id
	$pagina = $_POST['pagina'];
	$editoria = $_POST['editoria'];
	$disposicao = $_POST['disposicao'];
	$caderno = $_POST['caderno'];
	$chamada = $_POST['chamada'];

	$sql = "UPDATE localizacao SET pagina='".$pagina."', editoria='".$editoria."', disposicao='".$disposicao."', caderno='".$caderno."', chamada='".$chamada."','".$ultimo_id."'";
	//echo $sql;

Fiz algumas alterações, sei que tá ocorrendo um erro de sintaxe ainda. Mas não consegui identifica-lo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

repetindo o q já postei acima..

 

 

no 2º comando, veja essa ultima variavel:

'".$ultimo_id."'"

 

verifique ai e qqer coisa retorne.

umas dicas boas:

 

está faltando algo ANTES dessa variável;

compare os 2 comandos (sql e sql2)..

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
require('../conn/conn.php');
require('../funcoes/funcoes.php');

$titulo = $_POST['titulo'];
$autor = $_POST['autor'];
$impacto = $_POST['impacto'];
$materia = $_POST['materia'];
$citacao = $_POST['citacao'];
$dt_publicacao = $_POST['dt_publicacao'];
$id_origem = $_POST['origem'];
$id_veiculo = $_POST['veiculo'];


$data_sql = data_to_sql($dt_publicacao);
		
$sql2 = "UPDATE materia SET titulo='".$titulo."', autor='".$autor."', 
impacto='".$impacto."', materia='".$materia."', citacao='".$citacao."', 
dt_publicacao='".$data_sql."', id_origem='".$id_origem."',id_veiculo='".$id_veiculo."' 
WHERE id=".$_POST['id'];
echo $sql2;
if(mysql_query($sql2)){

	$pagina = $_POST['pagina'];
	$editoria = $_POST['editoria'];
	$disposicao = $_POST['disposicao'];
	$caderno = $_POST['caderno'];
	$chamada = $_POST['chamada'];

	$sql = "UPDATE localizacao SET pagina='".$pagina."', editoria='".$editoria."', 
	disposicao='".$disposicao."', caderno='".$caderno."', chamada='".$chamada."' WHERE id_materia = ".$_POST['id'];
	//echo $sql;
	mysql_query($sql);
		echo $sql;
} else {
		echo mysql_error();
	}
	mysql_close();
?> 

Corrigi, ele começou a passar os valores. Porém não consigo atualizar.

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
require('../conn/conn.php');
require('../funcoes/funcoes.php');

$titulo = $_POST['titulo'];
$autor = $_POST['autor'];
$impacto = $_POST['impacto'];
$materia = $_POST['materia'];
$citacao = $_POST['citacao'];
$dt_publicacao = $_POST['dt_publicacao'];
$id_origem = $_POST['origem'];
$id_veiculo = $_POST['veiculo'];


$data_sql = data_to_sql($dt_publicacao);
		
$sql2 = "UPDATE materia SET titulo='".$titulo."', autor='".$autor."', 
impacto='".$impacto."', materia='".$materia."', citacao='".$citacao."', 
dt_publicacao='".$data_sql."', id_origem=".$id_origem.",id_veiculo=".$id_veiculo." 
WHERE id=".$_POST['id'];
echo $sql2; 

if(mysql_query($sql2)){

	$pagina = $_POST['pagina'];
	$editoria = $_POST['editoria'];
	$disposicao = $_POST['disposicao'];
	$caderno = $_POST['caderno'];
	$chamada = $_POST['chamada'];

	$sql = "UPDATE localizacao SET pagina='".$pagina."', editoria='".$editoria."', 
	disposicao='".$disposicao."', caderno='".$caderno."', chamada='".$chamada."' WHERE id_materia = ".$_POST['id'];
	//echo $sql;
	mysql_query($sql);
		echo $sql;
} else {
		echo mysql_error();
	}
	mysql_close();
?> 

 

Olá Fernando, consegui achar o erro. Valeu pela ajuda. Segue o código corrigido.

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.