![](/img/trans.png)
[英]Before exporting i need to insert data from one table to another table-php
[英]Exporting a Line of Data From One Data Table to Another
下面的代碼適用於我正在處理的項目。 我的 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 服務器版本相對應的手冊,以了解在“INSERT INTOarchiveticket
(name
、account_num
、department
、ticket_desc
、第 1 行的‘’)附近使用的正確語法
首先執行選擇查詢,然后執行插入查詢。 現在您正試圖同時運行它們,這就是問題所在。
這實際上並不是您遇到的 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 注入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.