首页 > 解决方案 > 如何在 PHP 中将数据从一个 MySQL 表导出到另一个表?

问题描述

基本上,我有一个客户表和潜在潜在客户的潜在客户列表,一旦完成,我需要将潜在客户转移给客户,并使用导出按钮将其从原始表中删除。

我已经尝试了一些可能的事情,例如select from CData ......and insert into leadlist,但没有奏效

我的leadselect.php:

$(document).on('click', '.export', function(){
        var user_id = $(this).attr("id");
        if(confirm("Are you sure you want to export this?"))
        {
            $.ajax({
                url:"export.php",
                method:"POST",
                data:{user_id:user_id},
            success:function(data)   

我的导出.php:

 <<?php

include('db.php');
include("function.php");

insert into leadlist
  select * from CData
 ?

按钮定义为

$sub_array[] = '<button type="button" name="export" id="'.$row["id"].'" class="btn btn-warning btn-xs export">Export</button>';

我的预期结果是将我选择的数据行导出到潜在客户列表并将其删除。

你能告诉我如何处理这个要求吗?

标签: phpmysqldata-transferdata-export

解决方案


您需要$_POST['user_id']在查询中使用为该用户插入和删除适当的行。

使用参数时使用准备好的语句来防止 SQL 注入。

$insert_stmt = $conn->prepare("INSERT INTO leadlist SELECT * FROM CData WHERE user_id = ?") or die($conn->error);
$insert_stmt->bind_param("i", $_POST['user_id']);
$insert_stmt->execute() or die($insert_stmt->error);
$delete_stmt = $conn->prepare("DELETE FROM CData WHERE user_id = ?") or die($conn->error);
$delete_stmt->bind_param("i", $_POST['user_id']);
$delete_stmt->execute() or die($delete_stmt->error);

将查询替换user_id为表中包含用户 ID 的列的实际名称。

演示


推荐阅读