使用jQuery、AJAX、PHP删除数据库中的行
编辑:使用jQuery、AJAX、PHP删除数据库中的行,php,jquery,mysql,ajax,sql-delete,Php,Jquery,Mysql,Ajax,Sql Delete,编辑: 根据下面评论中提供的解决方案。 数据库中没有发生任何事情 解决方案是简单地刷新页面,因为我以前将delete.php文件放在另一个目录中(因此代码运行良好……这只是一个身份错误的例子——这总是最微不足道的事情) 页面上没有发生任何事情 解决方案是给父级一个唯一的id(与delete按钮/image-1相同),然后在jQuery.js文件中的ajax函数下添加 success: function() { $('#'.concat(id)).remove(); } 感谢@Sikan
根据下面评论中提供的解决方案。
数据库中没有发生任何事情
解决方案是简单地刷新页面,因为我以前将delete.php文件放在另一个目录中(因此代码运行良好……这只是一个身份错误的例子——这总是最微不足道的事情) 页面上没有发生任何事情
解决方案是给父级一个唯一的id(与delete按钮/image-1相同),然后在jQuery.js文件中的ajax函数下添加
success: function() {
$('#'.concat(id)).remove();
}
感谢@SikanderNawaz
结束编辑我正试图使用jQuery、AJAX和PHP删除数据库中的一行,我的代码应该是,但不起作用。
我单击“删除”按钮,但在页面或数据库中什么也没有发生。
我哪里出错了?
希望这里有人能帮忙 数据库
------------------
| id | link |
------------------
| 1 | image.jpg |
------------------
HTML
<head>
...
<script src="jquery-3.4.1.js"></script>
...
</head>
<body>
...
<button type="button" name="delete" id="delete" class="some stylings" value="1"><h6><b>X</b></h6></button>
<img src="images/image.jpg" />
...
<script src="jQuery.js"></script>
</body>
delete.php
<?php
require ("connection.php");
if (isset($_POST['id'])) {
$id = $_POST['id'];
try {
$sql =
"
DELETE FROM test
WHERE
id = ?
";
$prepareTest = $pdo->prepare($sql);
$prepareTest->execute([$id]);
} catch(PDOException $e) {
file_put_contents('../error/e.txt', $e->getMessage(), FILE_APPEND);
}
}
在使用JS/Ajax时,始终使用console.log记录数据和错误,并在“网络”选项卡中发现错误,以及任何与数据库相关的错误,并使用在每个步骤中转储的数据管理调试,以发现错误来源。是否检查了“网络”选项卡?您遇到了什么错误?请检查浏览器的网络选项卡或控制台,并向我们显示它抛出了什么错误?是的。。。没有错误显示(从connection.php或其他…当我单击delete按钮时,什么都没有发生-我也想显示connection.php,以防万一,但它说有太多代码)hmmm。。它显示了一个404错误。。。找不到delete.php-请稍候。。。我会调查的。。。如果是那么简单,我会哭:)-但它应该喜欢它,因为它都在同一个文件夹中不。。。现在我让它在页面或数据库中显示一条200成功消息-它成功地找到了delete.php,但仍然没有发生任何事情。。。所以还是不起作用。。。编辑:(当我将delete.php放在一个单独的文件夹中时,忘记刷新WWW中的页面)
<?php
require ("connection.php");
if (isset($_POST['id'])) {
$id = $_POST['id'];
try {
$sql =
"
DELETE FROM test
WHERE
id = ?
";
$prepareTest = $pdo->prepare($sql);
$prepareTest->execute([$id]);
} catch(PDOException $e) {
file_put_contents('../error/e.txt', $e->getMessage(), FILE_APPEND);
}
}