0

我当前的脚本有问题。我正在使用 PDO 和 ajax 删除记录。我使用以下代码通过带有 PDO 的 mysql 调用图像:

<?php 
$stmt = $db->query('SELECT * FROM img_slider ORDER BY id ');
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "
<li id='{$row['id']}'>
<div class='imgHover'>
<div class='hover'>
<a href='delete.php?id={$row['id']}' class='deleteitem' ><img src='../img/delete.png'></a></div>
<img src='{$row['path']}'>
</div>
</li>";
}

我使用此 javascript 发送 ID 并delete.php从列表中删除图像缩略图:

$(function() {
  $('.deleteitem').click(function(e) {
    e.preventDefault();
    var id = $(this).parent('li').attr('id');
    $.get('delete.php',{ id: id}).done(function(data) {
      if(data=='Error, insert query failed') {
          // dont delete from list
          alert('Failed to delete '+id);
      } else {
          //delete from list
          $('#'+id).remove();
          alert('Deleted '+id);
      }
    });
  });
});

我希望删除来自不同行的多条记录,因此我使用以下 PDO 代码执行删除:

require("common.php"); 
if(empty($_SESSION['user'])) { header("Location: login.php"); die("Redirecting to login.php"); } 

$id = $_GET['id'];

$pdo->beginTransaction();
$st = $pdo->prepare('DELETE FROM img_nav WHERE id = :id');
$st->execute(array(':id', $id));
$st = $pdo->prepare('DELETE FROM img_slider WHERE id = :id');
$st->execute(array(':id', $id));
$st = $pdo->prepare('DELETE FROM img_landing WHERE id = :id');
$pdo->commit();

我试过直接链接到delete.php而不是通过 javascript,chrome simple 给我一个服务器错误。我在这里做所有事情吗?我只是一个初学者,英语不太好,非常感谢任何建议。

4

0 回答 0