【问题标题】:Mysql UPDATE using PHP and AJAX, can't update databaseMysql UPDATE使用PHP和AJAX,不能更新数据库
【发布时间】:2015-09-30 09:33:47
【问题描述】:

在学习了这个网站上的几个例子之后,我想我即将做到,但仍然做不到。

我有这个代码:

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

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

【问题讨论】:

  • 在 PHP 代码中构建查询后,您是否尝试过 var_dump($sql)?它将帮助我们查看您发送到数据库的内容。
  • 能否请您 var_dump $link 和 $sql 和 mysqli_query 结果,以便我们看看问题出在哪里?
  • 除了容易发生SQL注入之外,代码示例看起来不错,应该可以工作。可能PHP从未执行过。签入执行到达该点的 PHP 文件。
  • 你试图从 PHP 页面实现什么,因为你没有在 PHP 中返回或回显任何东西,所以它怎么能显示一些东西?
  • 您可以尝试使用mysql_error() php函数获取mysql错误。

标签: javascript php jquery mysql ajax


【解决方案1】:

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

  1. 一条 UPDATE SQL 语句
  2. 从 DB MySQL 查询它
  3. 尝试更新记录而不做任何更改,(我的意思是简单地更新一个 具有相同数据的行)

然后...我没有什么要更新的,因为它是 AJAX 查询中的错误,它在您的服务器端脚本中调用 UPDATE 语句。但是,如果您在任何保存(更新)数据之前对其进行一些更改,它将起作用。

我使用的是REPLACE 语句而不是UPDATE

我花了很多时间寻找这个解决方案,真的太多了。而且我不明白为什么会发生这种情况,因为当我在服务器上使用自己的参数调试整个脚本并且一切正常时,但当 Ajax 仅帮助 REPLACE 时。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 好的,在添加退出函数和一些“echo”和一些javascript“alert”之后什么也没发生,所以我想我没有到达文件。会是什么呢?如果我移动文件或只是更改其名称,我会收到 AJAX 函数错误消息。我不知道该怎么办。
    【解决方案3】:

    好的,我终于找到了解决办法。

    代码很好,这是一个 apache 所有权和权利问题。

    This 帮了大忙。

    谢谢你们所有的cmets。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 2014-08-03
      • 2010-10-25
      • 1970-01-01
      • 2015-02-20
      • 1970-01-01
      相关资源
      最近更新 更多