繁体   English   中英

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

[英]Mysql UPDATE using PHP and AJAX, can't update database

在遵循本网站的几个示例之后,我想我即将这样做,但仍然不能。

我有这个代码:

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 调用

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

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

我正在使用REPLACE语句而不是UPDATE

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

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

好的,我终于找到了解决方案。

代码非常好,这是一个 apache 所有权和权限问题。

有很大帮助。

谢谢大家的评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM