mysqli查询不会在while循环中更新

时间:2015-02-17 04:16:29

标签: php mysqli while-loop

我正在构建一个脚本来显示一些24小时图表。我试图制作12张图表。我收集的每五分钟数据集的一个24小时(最后一小时)图表。我正在运行我的mysql命令不会更新$ hour_position的问题。我已经阅读了很多while循环内部循环问题,并尝试构建一个foreach替代方案,并尝试重置查询数组,但没有一个工作。任何可以解决此问题的评论或链接到另一个线程将不胜感激。 提前谢谢。

$hour_position = 00;
$htime = -1;
$date = date('Y-m-d H:i:s');
$date = strtotime($date);
$date = strtotime($htime." day", $date);
$date = date('Y-m-d H:i:s',$date);

while($hour_position < 60){
    $price_history_qry = mysqli_query($con,"SELECT * FROM `dbTable` WHERE `server_time` > '$date' AND EXTRACT(MINUTE FROM `server_time`) like $hour_position ORDER BY `server_time` ASC");
    while($result = mysqli_fetch_array($price_history_qry)){
        //Create a couple of arrays to build a chart. 
    }
    //Build chart here
    echo $chart;
    $hour_position = $hour_position +05;
}

2 个答案:

答案 0 :(得分:0)

尝试将$ hour_position放在引号中,如

      ' $hour_position ' 

或者您可以使用

      ". $hour_position ." 

答案 1 :(得分:0)

您的查询有一个小错误。单引号内的变量不会被评估为变量。检查this。您需要更改下面的选择查询。

$price_history_qry = mysqli_query($con,"SELECT * FROM `dbTable` WHERE `server_time` > '".$date."' AND EXTRACT(MINUTE FROM `server_time`) like ".$hour_position." ORDER BY `server_time` ASC");

我的代码中没有找到任何更新查询。如你所说,你在循环中使用更新查询。因此,首先检查变量是否具有该值,然后检查它是否进入while循环,如下所示。

    $result = mysqli_fetch_array($price_history_qry)    
    var_dump($result);    
    while($result){
           //Create a couple of arrays to build a chart. 
           var_dump("entered");
   }

尝试使用var_dump()函数进行调试。

希望它对你有所帮助。