Jump to content
Fórum Script Brasil
  • 0

ERRO AO DELETAR REGISTROS DA TABELA


azielsilas

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...