【问题标题】: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
}
}