【问题标题】:delete from one SQL table and add to another [duplicate]从一个 SQL 表中删除并添加到另一个 [重复]
【发布时间】:2017-05-20 15:49:30
【问题描述】:

我意识到这可能是一个简单的执行问题,但我被卡住了。我的记录 DELETE 很好,但它没有显示在第二个表中。

 <?php
   if( $_SERVER['REQUEST_METHOD']=='GET' && isset( $_GET['job_numb'] ) ){
   $job_numb = filter_input( INPUT_GET, 'job_numb', FILTER_SANITIZE_STRING );
   }
 ?>

注意来自上述 URL 的服务器请求。这就是我通过$job_numb 的方式。现在我将在下面的SELECT 查询中将其备份:

 $servername = "localhost";
 $username = "ccccc";
 $password = "xxxxx";
 $dbname = "jobs_users";

     // Create connection
     $conn = mysqli_connect($servername, $username, $password, $dbname);

     // Check connection
     if (!$conn) {
          die("Connection failed: " . mysqli_connect_error());
     }

 $sql = "SELECT * FROM jobs_canjobs WHERE job_numb = $job_numb";
 $results = mysqli_query($conn, $sql);

 if ($row = mysqli_fetch_array($results)){
      $job_name = $row['job_name'];
      $comments = $row['comments'];
      $due_date = $row['due_date'];
      $show_date = $row['show_date'];
      $attachment1 = $row['attachment1'];
      $requestor = $row['requestor'];
      $status = $row['status'];
      $req_email = $row['req_email'];
      $Property = $row['Property'];
      $assignee = $row['assignee'];
      $assign_email = $row['assign_email'];
      $AE = $row['AE'];
 }else{
      echo 'no records found';
 }
      mysqli_close($conn);
?>

我也可以将这些结果放入一个数组中并从中挑选,但在撰写本文时,这就是代码的存在方式所以我没有编辑那部分。

现在从 MySQL 中加载了与查询的$job_numb 对应的所有这些变量,您可以将它们添加到页面中以获取结果。

【问题讨论】:

  • 你的代码真的执行了插入语句吗?我只看到一个mysqli_query-statement...
  • 这就是我认为我所缺少的。

标签: php sql mysqli


【解决方案1】:

试试

  $sql = "INSERT INTO `archived_jobs` SELECT * from `jobs_canjobs` where job_numb = $job_numb";
  $results = mysqli_query($conn, $sql);
  $sql = "DELETE FROM `jobs_canjobs` WHERE job_numb = $job_numb";
  $results = mysqli_query($conn, $sql);

【讨论】:

  • 就是这样。可能应该使用 SQLi 多查询,但这目前有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
  • 1970-01-01
  • 1970-01-01
  • 2010-12-22
  • 2021-09-08
  • 2011-08-17
  • 1970-01-01
相关资源
最近更新 更多