将INSERT INTO SELECT与DELETE同时组合在一起

时间:2017-08-15 12:59:14

标签: php mysql

我有一个按钮

<button onClick=sAve('save','."$id."']."')>SAVE</button>

一旦我点击它,我想使用AJAX将参数传递给PHP页面,以执行以下任务到MYSQL:

switch... case "Save":

$sql1 = "INSERT INTO permanent_table (id, user, email) 
         SELECT id, user, email 
         FROM temp_table WHERE id='".$_GET['id']."'";
$sql2 = "DELETE FROM temp_table WHERE id='".$_GET['id']."'";

因此,permanent_table具有与temp_table相同的结构。我试图像这样运行两个查询,但它不起作用,所以我猜这不是正确的方法。

就我而言,我的问题是:

  1. 使用PHP / sql执行此任务的真正专业方法是什么?
  2. 有什么方法可以简化/组合它到单个查询吗?

1 个答案:

答案 0 :(得分:0)

我认为这是你想要的

<button onClick="$.post('/php file name/', {'save','."$id."'}, function(data){});">SAVE</button><br/>

然后你可以在PHP文件中运行一些查询。

$sql = $conn->prepare("INSERT INTO `permanent_table` (`id`, `user`, `email`) VALUES(?, ?, ?)";
$sql->bind_param("sss", $_GET['id'], "", "");
$sql->execute();

$sql = $conn->prepare("DELETE FROM `temp_table` WHERE `id`=?");
$sql->bind_param("s", $_GET['id']);
$sql->execute();

$sql = $conn->prepare("SELECT `id`, `user`, `email` FROM `temp_table` WHERE `id`=?");
$sql->bind_param("s", $_GET['id']);
$sql->execute();
//select last so that you can grab the results

在途中运行它们(PDO或MYSQL)
我对查询了解很多,所以请随时向我提问!