php - 将一行数据从一个数据表导出到另一个
问题描述
下面的代码适用于我正在从事的项目。我的 PHP 代码有一些问题,需要帮助。
我的数据表上有一个名为“导出”的按钮。单击按钮时,我希望复制该行上的数据并将其移动到存档中。
<?php
function val($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "databasename";
$ticket_id = $_GET["ticket_id"];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM activeticket WHERE ticket_id='$ticket_id' INSERT INTO `ticketarchive`(`name`, `account_num`, `department`, `ticket_desc`, `email`, `assigned`, `status`, `fibre_site`) VALUES ([name],[account_num],[department],[ticket_desc],[email],[assigned],[status],[fibre_site])";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully. Record ID is: ";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
以下是这产生的错误:
错误:SELECT * FROM activeticket WHERE ticket_id='1' INSERT INTO
archiveticket
(name
,account_num
,department
,ticket_desc
,assigned
,status
,fibre_site
) VALUES ([name],[account_num],[department],[ticket_desc],[email],[assigned],[ status],[fiber_site]) 您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以获取在第 1 行的“INSERT INTOarchiveticket
(name
,account_num
,department
,ticket_desc
, `')附近使用的正确语法
解决方案
这并不是您真正遇到的 PHP 问题,只是您似乎对 SQL 不熟悉。您要做的是将 SELECT 查询的结果插入表中。这根本不是这样做的方法。您正在寻找的是:
$sql = "INSERT INTO `ticketarchive`(
`name`,
`account_num`,
`department`,
`ticket_desc`,
`email`,
`assigned`,
`status`,
`fibre_site`
)
SELECT
`name`,
`account_num`,
`department`,
`ticket_desc`,
`email`,
`assigned`,
`status`,
`fibre_site`
FROM
`activeticket`
WHERE
`ticket_id` = $ticket_id"
如需更多信息,请阅读此处。
我还建议您研究参数化查询以避免 SQL 注入。
推荐阅读
- javascript - React-Native Tab Bar:移除水平线(React Native UI Kitten + React Navigation)
- android - 法律权利问题 - Android 应用程序命名
- php - 如何通过用户身份验证保护 slim 3 应用程序
- java - 无法在 XAMPP 中运行 mysqldump
- spring-transactions - Spring Data 中不需要事务行为
- android - 淡入淡出在 MotionLayout 中不起作用
- image - 带有嵌入图像的 Outlook 邮件大小
- python - 如何使用非整数多级区间索引优化 pandas 查询?
- ruby - 如何使用 socat 让 Sinatra 监听两个端口
- c# - 使用 Get 请求后如何找到对象内的项目?