【问题标题】:jQuery delete row from SQL (button) not workingjQuery从SQL(按钮)中删除行不起作用
【发布时间】:2014-09-02 23:08:00
【问题描述】:

我有一页上的笔记表。我希望用户能够动态添加和删除笔记。我可以使用添加注释功能,但在使用删除注释功能时遇到问题。单击删除按钮可以使该行淡出,但无法从数据库中删除该行。这是我的代码:

HTML:

            <td class='deleteCell'>                                         
                <input id=$noteID type='submit' class='delBtn' value='Delete'>        
            </td>                                                           
            <td class='dateCell'>                                           
                <p class='dateText'> $noteDate </p>                         
            </td>                                                           
            <td class='noteCell'>                                           
                <p class='noteText'> $noteText </p>                         
            </td>                                                           
        </tr>                                                           

jQuery:

$(".delBtn").click(function() {
    var del_id = $(this).attr('id');
    var parent = $(this).parent().parent();
    $.post("deleteNote.php" , {id : del_id},
        function() {
            parent.fadeOut('slow',
                function() {
                    $(this).remove();
                }) ;
        }) ;
}) ;

删除Note.php:

<?php
include( 'includes/sql_link.php' )  ;


if(isset($_POST['id'])) {
    $post  =   mysqli_real_escape_string ( $db , $_POST['id'] ) ;
    $query = " DELETE FROM Room_Notes WHERE Note_ID LIKE LIKE '{$post}%'";

    if(query($query)) {
        echo "YES";
    }
    else {
        echo "NO";
    }
}
else {
    echo "FAIL";
}

它会从表中删除行,但不会从数据库中删除。每次刷新页面

【问题讨论】:

  • 警告您的代码容易受到 sql 注入攻击!
  • 刚刚更新了转义字符串,我不确定你是否也指的是这个。在这方面我还是很陌生。

标签: php jquery sql


【解决方案1】:

首先,您的查询中有两个“LIKE”。

 DELETE FROM Room_Notes WHERE Note_ID LIKE '{$post}%'

(无论如何,这不是更好吗?)

让我知道警报的结果:)


尝试将您的发布请求更改为:

$.post( "deleteNote.php", { id: del_id } );

或者,您可以将 deleteNote.php 中的所有 POST 参数更改为 GET 参数

【讨论】:

  • 嗨 Corbin,我用 = 更新了我的 SQL,并将警报添加到我的 jQuery。警报在淡出该行之前提供了正确的 ID,但仍然没有从数据库中删除。感谢您的帮助。
  • 更改了我的发布请求,但它破坏了它。甚至不会再提醒 id 了。尝试更改帖子以获取 deleteNote.php 并再次尝试,但无法正常工作。我对此感到非常沮丧
  • 如果您想进一步联系我,请查看我的个人资料,如果没有演示,我无法为您提供帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-24
  • 1970-01-01
  • 2017-05-16
  • 2017-11-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多