我的当前脚本出现问题。我正在使用PDO和ajax删除记录。我使用以下代码通过mysql使用PDO调用图像:
<?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给我一个服务器错误。我在这里干什么吗?我只是一个初学者,英语不太好,任何建议都会非常感激。