2017-08-27 16 views
3

Ich versuche, Bilder mit Ajax zu löschen. Es wird die Warnmeldung angezeigt, dass die Daten gelöscht wurden, aber in der Tabelle ist der Datensatz vorhanden. Wie kann ich die Bildaufzeichnung aus der Tabelle löschen ....Löschen Sie Bild aus der Datenbank mit Ajax und PHP

<span><input type="submit" id="del_btn" value="Delete Image" /></span> 
<script type="text/javascript"> 
$(document).ready(function() { 
    $("input#del_btn").click(function(){ 
     $.ajax({ 
      type: "POST", 
      url: "del.php", // 
      data: {id: <?php echo $delid; ?>}, 
      success: function(msg){ 
      alert("Image Deleted from database"); 
      }, 
      error: function(){ 
      alert("failure"); 
      } 
      }); 
     }); 
    }); 
    </script> 

und das ist del.php

<?php 
if (isset($_POST['id'])) { 
    $imgid = $_POST['id']; 
    $con=new PDO("mysql:host=localhost;dbname=newimg","root",""); 
    $sql = "DELETE FROM attempt010 WHERE id='$imgid' "; 
    $con->execute($sql); 
} 
?> 
+0

Ihre Lösch-Abfrage für die Injektion geöffnet ist, verwenden Sie bitte verbindlich (dh: Vorbereitung es richtig). Sehen; http://php.net/manual/de/pdo.prepare.php –

+0

Auch bitte gewöhnen Sie sich an, die Antwort zu akzeptieren, https://meta.stackexchange.com/questions/5234/how-does-accepting-an- Antwort-Arbeit. Diese Frage steht noch aus, eine Annahme, https://stackoverflow.com/questions/45654837/how-do-i-redirect-a-form-after-submission-to-the-same-page. – chris85

+0

Entschuldigung, ich bin neu hier, ich war mir dessen nicht bewusst ... Ich werde es mir merken –

Antwort

0

Die PDO execute Funktion eine vorbereitete Anweisung ausführt. Also müssen Sie vorbereiten dann ausführen. Auch vorbereitete Anweisungen sollten parametrisiert werden. Versuchen:

if (isset($_POST['id'])) { 
    $imgid = $_POST['id']; 
    $con=new PDO("mysql:host=localhost;dbname=newimg","root",""); 
    $sql = "DELETE FROM attempt010 WHERE id=?"; 
    $stmt = $con->prepare($sql); 
    $stmt->execute(array($imgid)); 
} 

Weitere Informationen finden Sie unter:

  1. http://php.net/manual/en/pdostatement.execute.php
  2. http://php.net/manual/en/pdo.prepare.php
  3. http://php.net/manual/en/pdo.prepared-statements.php
+0

Es funktioniert Danke @chris85 .. Wie kann ich die Vorschau des Bildes löschen? –

+0

Ich weiß nicht, was ist eine Vorschau? Meinst du es auf der Seite entfernen, von der der AJAX gesendet wurde? – chris85

+0

ja .. Ich meine, auf dieser Seite habe ich die hochgeladenen Bilder .. in dem ich die Lösch-Taste erstellt, um den Datensatz aus der Datenbank zu löschen .. Ich wollte die Vorschau auch löschen ... @ chris –