我想将数据从表信息传输到存档的表,但当我单击提交按钮时,什么也没发生
这是我的提交按钮:
<button type="button" ng-click="move(name.id)" class="btn btn-info btn-l">Submit</button>
这是我的Angularjs代码:
$scope.move = function(id){
if(confirm("Are you sure you want to move it?"))
{
$http({
method:"POST",
url:"insert.php",
data:{'id':id, 'action':'move'}
}).success(function(data){
$scope.success = true;
$scope.error = false;
$scope.successMessage = data.message;
$scope.fetchData();
});
}
};
这是我在insert.php中的php代码:
include('database_connection.php');
$form_data = json_decode(file_get_contents("php://input"));
$error = '';
$message = '';
$validation_error = '';
$first_name = '';
$last_name = '';
if($form_data->action == "move")
{
$query = "
INSERT INTO archived
SELECT * FROM infos
DELETE FROM infos
";
$statement = $connect->prepare($query);
if($statement->execute())
{
$output['message'] = 'Data moved';
}
}
当我编辑我的查询如下所示时:
$query = "
DELETE FROM infos
";
一切正常,infos表中的数据将被删除!!
有人能告诉我我错过了什么,或者我做错了什么吗?
谢谢你,如果你需要更多关于我的代码的信息,只需问你想知道的哪个部分
您的查询不正确;
INSERT INTO archived
SELECT * FROM infos
DELETE FROM infos
若要执行两个查询,您需要在编辑器或命令行中的语句之间添加分号。
INSERT INTO archived SELECT * FROM infos; DELETE FROM infos;
但是,prepared语句只能执行一个MySQL查询。您可以在不同的变量中准备任意多的语句:
$stmtCopy = $sql->prepare("INSERT INTO archived SELECT * FROM infos");
$stmtDelete = $sql->prepare("DELETE FROM infos");