使用PHP和AJAX的Mysql UPDATE,无法更新数据库

时间:2015-09-30 09:33:48

标签: javascript php jquery mysql ajax

在关注本网站的几个例子后,我想我即将这样做,但仍然无法做到。

我有这段代码:

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,,但似乎没有任何效果。

我做错了什么?任何提示或建议?提前谢谢。

3 个答案:

答案 0 :(得分:1)

我在Winodws上使用apache MySQL和php。我有同样的问题。 我有我的更新脚本,由AJAX调用

  1. UPDATE SQL语句
  2. 从DB MySQL查询它
  3. 尝试更新记录而不做任何更改,(我的意思是简单更新a 具有相同数据的行)
  4. 然后......我没有得到任何更新,因为它是AJAX查询中的错误,它在服务器端脚本中调用UPDATE语句。但是,如果您在任何保存(更新)数据之前对其进行了一些更改,它将会起作用。

    我使用REPLACE语句而不是UPDATE

    我花了很多时间寻找这个解决方案,真的太多了。我无法理解为什么会发生这种情况,因为当我在服务器上使用自己的params调试整个脚本并且一切正常时,但是当Ajax然后只帮助REPLACE时。

答案 1 :(得分:0)

你应该添加退出; php代码末尾的语句。回应一些成功的声明。然后你应该在javascript中警告输出变量。这样你就可以确保调用php代码了。

答案 2 :(得分:0)

好的,最后我找到了解决方案。

代码很发现,它是一个apache所有权和权限问题。

This帮了很多忙。

谢谢大家的评论。