1

我制作了一个 js 函数来使用 ajax 从数据库中删除数据。它非常基本,但我想在添加其他任何内容之前让它工作,功能如下:

function removeAd(ad_id) {

    $.post('remove.php', {id: ad_id});

};

我使用 php 构建页面并创建使用此功能的链接:

<ul id='categoryorder'>

<?php while ($item = mysqli_fetch_array($r)) { ?>

<li id="advert_<?php echo $item['display_id'] ?>"><div class="<?php echo $item['ad_type']?>"><a href="javascript:removeAd('<?php echo $item['display_id'] ?>')" >Remove</a></div></li>

<?php } ?> 

</ul>

它可以很好地构建页面并在具有 javascript:removeAd(id) 的 href 的 div 中创建删除链接,其中 id 是与数据库中该 div 相关的 id,例如:

<li id="advert_5"><div class="banner"><a href="javascript:removeAd('5')" >Remove</a></div></li>

最后,这应该发送到 remove.php 脚本,该脚本实际上从数据库中删除具有该 ID 的条目

<?php

require ('Mysql_Connect.php');

if ($_SERVER['REQUEST_METHOD'] == 'POST') {

    $q = "DELETE FROM st_display WHERE display_id = {$_POST['id']}";
    $r = @mysqli_query ($dbc, $q);

}

?>

我对此很陌生,所以我已经准备好被告知我犯了一个愚蠢的错误,或者这永远不会奏效!但任何帮助将不胜感激。

4

2 回答 2

0

您的查询非常适合良好的 SQL 注入。
但这不是这里的重要性,如果您尝试这样做echo $q,它会返回一些东西吗?在你之前
做一个,看看你是否也发送数据。console.log(ad_id);$.post

于 2012-10-05T14:18:14.613 回答
0

你在陈述;的最后不见了,echo

<li id="advert_<?php echo $item['display_id']; ?>"><div class="<?php echo $item['ad_type']; ?>"><a href="javascript:removeAd('<?php echo $item['display_id']; ?>')" >Remove</a></div></li>
于 2012-10-05T14:18:31.410 回答