【发布时间】: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