Ir para conteúdo
Fórum Script Brasil
  • 0

ERRO AO DELETAR REGISTROS DA TABELA


azielsilas

Pergunta

Olá pessoal, estou com problemas ao tentar deletar um registro de uma tabela, segue abaixo os arquivos:

**** config.php ****

<?php
// Informações para conexão
$host = 'localhost';
$usuario = 'meuusuario';
$senha = 'minhasenha';
$banco = 'meubanco';
// Realizando conexão e selecionando o banco de dados
$conn = mysql_connect($host, $usuario, $senha) or die(mysql_error());
$db = mysql_select_db($banco, $conn) or die(mysql_error());
// Definindo o charset como utf8 para evitar problemas com acentuação
$charset = mysql_set_charset('utf8');
// Função para carregar a classe automaticamente, quando instanciado o objeto
function __autoload($class)
{
    require_once(dirname(__FILE__) . "/../class/{$class}.class.php");
}
?>
****listar-user.php***

 						<div class="container-fluid container-fullw bg-white">
				<a href="#">ADICIONAR USUÁRIOS</a> | <a href="#">VOLTAR</a>		
<div class="table-responsive">
    <table class="table table-bordered table-striped js-options-table">
      <thead>
       <tr>
         <th>ID</th>
         <th>NOME</th>
         <th>EMAIL</th>
         <th>USUÁRIO</th>
		 <th>ATIVO</th>
		  <th>DEL</th>
       </tr>
      </thead>
      <tbody>
	   <?
$sql = "SELECT * FROM `user` ORDER BY id LIMIT 50"; 
$sql2 = mysql_query($sql) or die(mysql_error()); while($row=mysql_fetch_array($sql2)){ 
$id= $row[id]; ?>
       <tr>
         <td><?=$row['id'];?></td>
         <td><?=$row['nome'];?></td>
         <td><?=$row['email'];?></td>
         <td><?=$row['usuario'];?></td>
		 <td><a href="deleta.php?&id<?=$row['id'];?>">EXCLUIR</a> \ <a href="editar-user.php?&id<?=$row['id'];?>">EDITAR</a></td>
       </tr>
	   <?php }?>
      </tbody>
    </table>
  </div>
O link que chama o método GET é: <a href="deleta.php?&id<?=$row['id'];?>">EXCLUIR</a>

***** deleta.php *****

<?php
require_once('config/config.php');
?>




<?php
$id = $_GET['id']; // Recebendo o valor enviado pelo link

mysql_query("DELETE FROM usuarios WHERE id=''".$id."'"); // A instrução delete irá apagar todos os dados da id recebida

mysql_close($conexao); // Fechando a conexão com o banco de dados

echo "Registro excluído com sucesso!";
?>
Retorna que o registro foi excluído porém ele não é excluido.
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Primeiro aconselho a utilizar outra biblioteca para aceder à base de dados (mysqli ou PDO), uma vez que a mysql já não é mantida actualmente.
Em segundo, o campo ID da tabela é numérico ou uma string? Caso seja numérico não são precisos os apóstrofos. Se for uma string, ainda assim tens um apóstrofo a mais.
Precisas ainda de verificar se a instrução foi ou não executada (variável $result) e só então mostras a mensagem adequada ao utilizador (como não tens essa verificação, a mensagem de sucesso aparece sempre, mesmo que a eliminação do registo falhe). Segue um exemplo:
<?php

$id = $_GET['id']; // Recebendo o valor enviado pelo link

$result = mysql_query("DELETE FROM `usuarios` WHERE `id` ='" . $id . "'"); // A instrução delete irá apagar todos os dados da id recebida
if ($result)
{
  echo "Registro excluído com sucesso!";
  mysql_close($conexao); // Fechando a conexão com o banco de dados
}
else
{
  echo "Impossível apagar o registo.";
}

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...