我当前的脚本有问题。我正在使用 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 给我一个服务器错误。我在这里做所有事情吗?我只是一个初学者,英语不太好,非常感谢任何建议。