在按照本网站的几个示例进行操作后,我想我将要这样做,但仍然做不到。
我有这个代码:
HTML
...
<a href="javascript:void(0);" class="button red big" style="font-size:24px;" onclick="update_it(<?=$_REQUEST["yeah"]["id"];?>);">Pay</a>
...
AJAX
function update_it(n_id){
$.ajax({
type: 'POST',
url: 'update_yes.php',
data: {idd: n_id},
success: function(output)
{
alert('Updated, server says '+n_id);
}, error: function()
{
alert('Wrong!');
}
});
}
PHP
<?php
$link = mysqli_connect("localhost", "root", "****", "****");
$sql = "DELETE FROM stuff WHERE id = " .$_POST["idd"];
mysqli_query($link,$sql) or die(mysql_error());
?>
除了 PHP(我认为),一切正常。我这样说是因为我可以看到 HTML 如何正常工作以及 AJAX 函数如何返回成功消息,但数据库中仍然没有任何反应。
我在 AJAX 函数的数据字段中尝试了不同的结构,例如 data: 'idd': n_id,
或 data: 'idd=' n_id,
但似乎什么都没有去工作。
我做错了什么?任何提示或建议?提前谢谢你。
最佳答案
我在 Winodws 上使用 apache MySQL 和 php。我有同样的问题。 我在 AJAX 调用的更新脚本中有
- 一条UPDATE SQL语句
- 从DB MySQL查询
- 尝试不做任何更改地更新记录,(我的意思是简单更新一个 具有相同数据的行)
然后...我没有什么要更新的,因为它是 AJAX 查询中的错误,它在您的服务器端脚本中调用 UPDATE 语句。但是,如果您在保存(更新)数据之前对其进行一些更改,它将起作用。
我正在使用 REPLACE
语句而不是 UPDATE
。
我找了很多时间,真的太多了。而且我不明白为什么会发生这种情况,因为当我在服务器上使用自己的参数调试整个脚本并且一切正常时,但是当 Ajax 仅帮助替换时。
关于javascript - 使用 PHP 和 AJAX 的 Mysql UPDATE,无法更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32862664/