【问题标题】:How to delete row using ajax php mysql如何使用ajax php mysql删除行
【发布时间】:2020-02-23 11:43:00
【问题描述】:

如何使用 AJAX 删除 php mysql 中的记录。

代码如下:

delete_record.php

<?php
    require_once "../include/connection.php";

    if ($_REQUEST['rowid']) {
        $sql = "DELETE FROM lesson1 WHERE id='".$_REQUEST['rowid']."'";
        if (mysqli_query($conn, $sql) {
            //echo "Success";
        } else {
            //echo "Error: $sql";
            mysqli_error($conn);
        }
    }
    myqli_close($conn);
?>

index.php

<script type="text/javascript">
    var rowId = null;
    $(document).ready(function() {
      $(document).on('click', '#btnDel', function(e) {
        e.preventDefault();

        rowId = $(this).attr('data-id');
      });

      $('#accDelBtn').click(function(e) {
        e.preventDefault();
        $.ajax({
          type: 'POST',
          url: 'delete_record.php',
          data: 'rowid=' + rowId,
          success: function(data) {
            alert('Records were deleted successfully');
            $('#modalDelete').modal('hide');
          }
        });
      })
    });
    </script>

我在这里尝试的是删除一条记录。 当我单击删除时。消息是成功但数据没有被删除。

【问题讨论】:

  • 那个代码非常危险。不要这样写代码。
  • @AluanHaddad 为什么先生?抱歉,这是我第一次使用 php。
  • 危险,因为如果有人添加 rowid 值等于 '1111111' 或 true。这将删除表中的每一行。显然可以使用备份数据库进行尝试。
  • @MuhammadTashfeen 但 id 是自动递增的。
  • 不,但您应该使用准备好的语句之类的东西。我也不确定,但我怀疑问题可能是您在数据库表中的 id 是整数值,但在 $sql 变量中您将其设置为字符串。

标签: javascript php mysql ajax


【解决方案1】:

你可以试试:

  1. 在以下范围内打印消息或 rowid:
    if ($_REQUEST['rowid']) {}
  2. 在 MySQL 浏览器中查看查询
  3. 检查连接字符串

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 2013-03-15
    • 1970-01-01
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    • 2014-01-03
    相关资源
    最近更新 更多