2016-04-21 2 views
0

Dies ist ein Beispiel löschen Code, den ich erstellt, um Einträge MySQL-Datenbank zu löschen. Wenn ich diesen Code ausführe, wird eine erfolgreiche Nachricht angezeigt, aber die Einträge werden nicht aus der Datenbank gelöscht. Die Datensätze werden gehalten in der 'Ereignisse' table 'id'Dieser Beispielcode löscht keine Elemente aus der Datenbank

<?php 
    require 'dbconnect.php'; 
    session_start(); 
    $id=$_SESSION['id']; 
    $id = "0"; 

    if (!empty($_GET['id'])) { 
     $id = $_REQUEST['id']; 
    } 

    if (!empty($_POST)) { 
     // keep track post values 
     $id = $_POST['id']; 

     // delete data 


     $sql="DELETE * FROM events WHERE events.id='$id'"; //mysqli query 
     $result=mysqli_query($conn,$sql); //connection string and mysqli query variable 


    if($result==true) 
      { 
    echo "<script type='text/javascript'>alert('successfully DELETED!')</script>"; // javascript message for Successful delete 
    echo "<script>setTimeout(\"location.href = 'list_events.php';\",15);</script>"; // return page 

      } 
      else 
      { 
    echo "<script type='text/javascript'>alert('failed to DELETE RETRY!')</script>"; //failed to delete message 
    echo "<script>setTimeout(\"location.href = 'list_events.php';\",15);</script>"; //return page 
      } 
      header("Location: list_events.php"); // header page 

     } 
    ?> 
+0

Versuchen DELETE FROM' statt DELETE * FROM' – Rickkwa

+0

sind Sie sicher, dass die 'id' Sie sind Einstellungen in der Tabelle vorhanden? Eine 'DELETE'-Anweisung gibt 'false' nicht zurück, wenn das Element nicht existiert, glaube ich .. – scoots

Antwort

0

benutzen anstelle von DELETE DELETE * FROM und Sie können die folgenden Befehle für mehr Sicherheit verwenden:

$sql="DELETE FROM events WHERE events.id=?"; 
$stmt = $mysqli->prepare($sql); 
$stmt->bind_param('d',$id); 
/* execute prepared statement */ 
$result = $stmt->execute(); 
1

den Primärschlüssel verfolgen können Sie diese verwenden

$sql="DELETE FROM events WHERE events.id='{$id}'"; //mysqli query 

nur um sicher zu sein. Überprüfen Sie, ob Sie einen Wert in $ id bekommen und es auch in der Datenbank existiert.

Verwandte Themen