[英]AJAX/Jquery not deleting row from MySQL table
我正在嘗試使用AJAX和jQuery從表中刪除記錄。 該行將根據需要從頁面視圖中刪除,而不是從表中刪除。
我正在使用以下文件和相關部分:
詢問
$result = mysql_query("SELECT id,name FROM myTable");
查詢結果:
while($row = mysql_fetch_array($result))
{
$id1=$row['id'];
$dataname=$row['name'];
?>
<div class="show">
<span class="name"><?php echo $dataname; ?></span><br><span class="name"><?php echo $id1; ?></span>
<span class="action"><a href="#" id="<?php echo $id1; ?>" class="delete" title="Delete">Delete</a></span>
</div>
<?php
}
?>
AJAX腳本
<script type="text/javascript">
$(function() {
$(".delete").click(function(){
var element = $(this);
var del_id = element.attr("id");
var info = 'id=' + del_id;
if(confirm("Are you sure you want to delete this?"))
{
$.ajax({
type: "POST",
url: "delete.php",
data: info,
success: function(){
}
});
$(this).parents(".show").animate({ backgroundColor: "#003" }, "slow")
.animate({ opacity: "hide" }, "slow");
}
return false;
});
});
</script>
delete.php
<?php
include('db.php');
if($_POST['id'])
{
$id=mysql_real_escape_string($_POST['id']);
$delete = "DELETE FROM `testdb` WHERE id = '$id1' ";
mysql_query($delete);
}
?>
$id=mysql_real_escape_string($_POST['id']);
$delete = "DELETE FROM `testdb` WHERE id = '$id1' ";
您在delete語句中使用的是$id1
,應為$id
$delete = "DELETE FROM `testdb` WHERE id = '$id'";
更新:使用PDO進行刪除操作
error_reporting(E_ALL);
ini_set('display_errors', '1');
try {
$pdo = new PDO('mysql:host=localhost;dbname=test', '****', '****');
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
$id = $_POST['id'] ;
$sql = "DELETE FROM testdb WHERE id = :id ";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
$stmt->execute();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.