Php 如何使用mysql查询的结果作为另一个查询的列名
我有以下代码Php 如何使用mysql查询的结果作为另一个查询的列名,php,mysql,Php,Mysql,我有以下代码 <?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)){ $
<?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);
}
}
?>
错误:
注意:第10行C:\xampp\htdocs\Nestle\trend\u test.php中未定义的偏移量:2
注意:第10行C:\xampp\htdocs\Nestle\trend\u test.php中未定义的偏移量:1 警告:mysqli_fetch_assoc()希望参数1是mysqli_result,bool在第12行的C:\xampp\htdocs\Nestle\trend_test.php中给出
需要你的帮助 从时间戳提取日期可能有问题
$final= substr($time_stamp, 0, 10)
那就更好了
如果需要,请在查询中的开始和结束日期项处添加引号
在调用MySQL之前,为$final添加另一个echo,您可以更好地理解并更正自己。假设这是数据库'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],您现在可以在下一次查询中使用它
因为数据库中的日期值使用“.”(09.12.2019 12:54:50)而不是
“-”(09-12-2019 12:54:50),我们在其中提出了一个可接近的解决方案
“09.12.2019 12:54:50”“我在时间上有这样的值。\u stampsis您的期末考试将有dd.mm.yyyy,在MySQL中进行比较之前,您需要使用date\u格式(…)。为$final添加另一个echo,您可以更好地理解。您能否给出存储在
data
表中time\u stamp
列中的数据项的示例。““09.12.2019 12:54:50”我在time stamp中有这样的值。\u stamp只要尝试一下并显示输出:print($time)代码>在while循环中“09.12.2019 12:54:50”“09.12.2019 12:55:20”“09.12.2019 12:56:20”“09.12.2019 12:56:50”“09.12.2019 12:57:20”“09.12.2019 12:57:50”“09.12.2019 12:58:20”“09.12.2019 12:58:50”“09.12.2019 12:59:20”“09.12.12.2019 13:00:20”""09.12.2019 13:01:50""""09.12.2019 13:02:20""""09.12.2019 13:02:50""""09.12.2019 13:03:20""""09.12.2019 13:03:50""""09.12.2019 13:04:20""""09.12.2019 13:04:50"“换言之,您当前的查询是‘选择1介于2和3之间的所有内容’。这是一个奇怪的请求。注意:第22行C:\xampp\htdocs\Nestle\trend\u test.php中未定义的偏移量:2。当我执行queryPlease粘贴所有源代码以操作解决方案并防止错误时,我就是这样得到这个错误的。你可以在上面编辑并粘贴它,这样我就可以帮助你了。顺便问一下,你知道我编辑了我发布的答案吗?是的,我是,并根据这个更新了我的代码。请查看我上面发布的代码。请在$date变量后打印\r($date),如果是yyyy mm dd@MariaAbdullah,请查看结果