2017-08-27 12 views
3

ajaxを使用して画像を削除しようとしています。これは、データが削除されたという警告メッセージを表示していますが、テーブルにはレコードがあります。どのように私はテーブルからイメージレコードを削除することができます....ajaxと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> 

、これは

<?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

あなたの削除クエリは、注射のために開いている、バインディングを使用してください(つまり:準備それは適切に)。見る; http://php.net/manual/en/pdo.prepare.php –

+0

また、https://meta.stackexchange.com/questions/5234/how-does-accepting-an-http:答 - 仕事。この質問は引き続き承認待ちです。https://stackoverflow.com/questions/45654837/how-do-i-redirect-a-form-after-submission-to-the-same-page – chris85

+0

申し訳ありませんが、私はここに新しいです、私はそれを認識していませんでした...私はそれを念頭に置いておきます –

答えて

0

del.php PDO execute機能は、プリペアドステートメントを実行しています。したがって、を準備し、を実行する必要があります。また、準備されたステートメントもパラメータ化する必要があります。試してみてください:

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)); 
} 

の詳細については以下を参照してください

  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

それはあなたに感謝しています@ chris85 ..どのようにイメージのプレビューを削除できますか? –

+0

私には分かりませんが、プレビューは何ですか?あなたはAJAXが送られたページでそれを削除することを意味しますか? – chris85

+0

はい..私はそのページで私がアップロードしたイメージを取り出したことを意味します。そのボタンを作成してデータベースからレコードを削除しました。私はプレビューも削除するようにしました... @chris –

関連する問題