【问题标题】:Update database using AJAX data使用 AJAX 数据更新数据库
【发布时间】:2015-08-15 11:58:22
【问题描述】:

我在非restful环境中工作,只能使用ajax请求来交换数据。不幸的是,ajax 只识别 POST 和 GET 方法。我需要在 Ajax 或 PHP 中听起来像 UPDATE 的东西才能使我的应用程序正常工作。

概念是这样的:

我使用 ajax 接收用户创建的数据,然后用 PHP 将其保存到 MySQL 中。用户可以创建、编辑和保存该数据。到目前为止,我用 POST ajax 方法伪造它。但这会产生问题,因为每当用户编辑和保存数据时,它都会在数据库中不断创建新行,而不是更新旧行。

有什么办法解决吗?

【问题讨论】:

    标签: php jquery mysql ajax


    【解决方案1】:

    你可以改变你的sql吗?通常是这样的:-

    insert into `TABLE` set ( `field1`,`field2` ) values ('value1','value2')
    on duplicate key update
     `field1`='value1',
     `field2`='value2',
     `field3`='value3';
    

    听起来像是“更新”?? GET 和 POST 非常适合您尝试做的事情,为什么要重新发明轮子并想出一个不存在的方法?

    【讨论】:

    【解决方案2】:

    您基本上可以使用任何 GET 或 POST 来更新数据库。 GET & POST 只是将数据传递到服务器的方法。

    您的 php 函数应该处理更新或创建数据库。您可能需要传递 ID 并检查 ID 是否存在,然后更新数据库。

    编辑:添加示例逻辑

    <?php
    //Assume this is function that your ajax called
    function processData()
    {
       $id = $_POST['id'];
       $name = $_POST['name'];
    
       if ($id)
       {
           //Update the name if ID exist
       }
       else 
       {
           //Create new data with Name above
       }
    }
    

    【讨论】:

    • 是的,我认为你是对的,你有一些参考或指南吗?
    猜你喜欢
    • 1970-01-01
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多