[英]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.