簡體   English   中英

如何使用mysql查詢的結果作為另一個查詢的列名

[英]How to use the result of mysql query as the column name of another query

我有以下代碼

    <?php
       include("includes\conn.php"); 
       $start = $_POST['start_date'];
       $end = $_POST['end_date'];  
       $result = mysqli_query($con,"SELECT * FROM data");
       while($row = mysqli_fetch_assoc($result)){
         $time_stamp = $row['time_stamp'];
         $temp_date= substr($time_stamp, 2, 12);
         $date= explode('.', $temp_date);
         $final= $date[2]. '-' .$date[1]. '-' .$date[0];
         $result1 = mysqli_query($con,"SELECT * FROM data WHERE $final BETWEEN $start AND $end");
         while($row2 = mysqli_fetch_assoc($result1)){
          print_r($row2);
         }
      }
  ?>

錯誤:

注意:未定義偏移量:2 in C:\\xampp\\htdocs\\Nestle\\trend_test.php 第 10 行
注意:未定義的偏移量:1 在 C:\\xampp\\htdocs\\Nestle\\trend_test.php 第 10 行警告:mysqli_fetch_assoc() 期望參數 1 為 mysqli_result,bool 在 C:\\xampp\\htdocs\\Nestle\\trend_test.php 上給出第 12 行

需要您的幫助!

您從 time_stamp 中提取的日期可能有問題。

$final= substr($time_stamp, 0, 10)

會更好。

如果需要,請在查詢中的日期項目的開始和結束處包含引號。

在調用 MySQL 之前為 $final 添加另一個 echo,您可以更好地理解並糾正自己。

讓我們假設這是您的 db '09.12.2019 12:54:50' 中的日期數據,因此為了獲得 yyyy-mm-dd 格式,因此您的日期格式具有日期和時間,首先是您刪除時間:

$temp_date= substr('09.12.2019 12:54:50', 0, 10);

獲得日期后,我們將使其成為這種格式 yyyy-mm-dd

$date= explode('.', $temp_date);
$final= $date[2]. '-' .$date[1]. '-' .$date[0];

因此,$final 的值為 2019-12-09 [yyyy-mm-dd],您現在可以在下一個查詢中使用它。

由於您在 db 中的日期值使用 '.' (09.12.2019 12:54:50) 而不是 '-' (09-12-2019 12:54:50),我們在其中做了一個平易近人的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM