【发布时间】:2011-02-25 03:01:19
【问题描述】:
我正在开发一个小小的个人网络应用程序。我有一个链接,当单击该链接时,应该对应该从数据库中删除该信息的 php 进行 ajax 调用。由于某些未知原因,它实际上不会从数据库中删除该行。我已经尝试了我所知道的一切,但仍然没有。我敢肯定这是非常简单的事情......这是涉及的脚本。
数据库输出:
$sql = "SELECT * FROM bookmark_app";
foreach ($dbh->query($sql) as $row)
{
echo '<div class="box" id="',$row['id'],'"><img src="images/avatar.jpg" width="75" height="75" border="0" class="avatar"/>
<div class="text"><a href="',$row['url'],'">',$row['title'],'</a><br/>
</div>
/*** Click to delete ***/
<a href="?delete=',$row['id'],'" class="delete">x</a></div>
<div class="clear"></div>';
}
$dbh = null;
Ajax 脚本:
$(document).ready(function() {
$("a.delete").click(function(){
var element = $(this);
var noteid = element.attr("id");
var info = 'id=' + noteid;
$.ajax({
type: "GET",
url: "includes/delete.php",
data: info,
success: function(){
element.parent().eq(0).fadeOut("slow");
}
});
return false;
});
});
删除代码:
include('connect.php');
//delete.php?id=IdOfPost
if($_GET['id']){
$id = $_GET['id'];
//Delete the record of the post
$delete = mysql_query("DELETE FROM `db` WHERE `id` = '$id'");
//Redirect the user
header("Location:xxxx.php");
}
【问题讨论】:
-
$id = intval($_GET['id']);听说过 SQL 注入吗?
-
SQL 现在怎么办?开个玩笑:)它仍然在开发阶段的本地主机上。当它上线时,我会在 i's 和 cross t's 上加点。
标签: php jquery ajax delete-row sql-delete