Ir para conteúdo

Arquivado

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

dr.x

Deletar antes de inserir - PDO

Recommended Posts

Olá Pessoal !

 

Mais uma vez recorro aos mestres...

 

Estou tentando deletar uma linha do banco de dados antes de inserir o novo dado, porém verificando na tabela, o dado continua lá.

O que estou fazendo de errado ?

 

 

Segue o código:

 

 

// Deletando a linha específica com status 'Ativar' com PDO
$deletarbanner=$pdo->prepare("DELETE foto FROM banners WHERE status='Ativar'");
$deletarbanner->bindValue(':id', $_GET['id'], PDO::PARAM_INT);
$deletarbanner->execute();
// inserindo a nova linha com PDO
$stmt = $pdo->prepare('INSERT INTO banners (nome, foto, dizeres, status) VALUE (:nome, :foto, :dizeres, :idst)');
$stmt->bindValue(':nome', $nome);
$stmt->bindValue(':foto', $nome_imagem);
$stmt->bindValue(':dizeres', $dizeres);
$stmt->bindValue(':idst', $status);
$nome = 'nome';
$foto = 'foto';
$dizeres = 'dizeres';
$status = 'idst';
$stmt->execute();
$stmt->closeCursor();
// Se os dados forem inseridos com sucesso
if ($stmt){
echo '<script type="text/javascript">alert("Upload realizado com sucesso!")</script>';
}
header("refresh:0 ;painel.php");
}
// Se houver mensagens de erro, exibe-as
if (count($error) != 0) {
foreach ($error as $erro) {
echo $erro . "";
}
}
}
}
} catch (Exception $e) {
echo 'Error: '. $e->getMessage();
}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites


$deletarbanner=$pdo->prepare("DELETE foto FROM banners WHERE status='Ativar'");
//$deletarbanner->bindValue(':id', $_GET['id'], PDO::PARAM_INT);
$deletarbanner->execute();
print_r($deletarbanner->errorInfo());

Compartilhar este post


Link para o post
Compartilhar em outros sites


$_GET['id'] = (int) $_GET['id'];

$deletarbanner=$pdo->prepare("DELETE foto FROM banners WHERE status='Ativar' AND id = :id");

$deletarbanner->bindValue(':id', $_GET['id'], PDO::PARAM_INT);

$deletarbanner->execute();

É só questão de prestar um pouco de atenção amigo, como você vai usar o bindValue se você não passou o parâmetro a ser substituído ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim Mateus é questão de atenção meu amigo.

Para mim, php mysql pdo é tudo muito novo. Estou vindo de uma ide muito diferente: Desktop (visual studio).

Devagarinho eu vou aprendendo com vocês e já já estarei contribuindo com o Fórum. Aliás compartilhar conhecimento é algo muito nobre.

Agradeço a paciência.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim Mateus é questão de atenção meu amigo.

Para mim, php mysql pdo é tudo muito novo. Estou vindo de uma ide muito diferente: Desktop (visual studio).

Devagarinho eu vou aprendendo com vocês e já já estarei contribuindo com o Fórum. Aliás compartilhar conhecimento é algo muito nobre.

Agradeço a paciência.

Imagina hah, ninguém nasce sabendo. Existem diversas classes que abstraem essa coisa de prepare, bindValue, execute, os comandos PDO em geral o que facilita muito na hora de desenvolver, poupa muito tempo e repetição de código, recomendo que dê uma pesquisada, ou se quiser posso ajudar também.

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.